Ir al contenido

HTTP Auth: Backend

La autorización en el backend te permite usar tu sistema de gestión de usuarios existente (Middleware) para controlar el acceso a tus streams. En lugar de gestionar usuarios en Astra, puedes conectarte a tu plataforma actual como Ministra, IPTVportal o un sistema personalizado.

HTTP Backend

  1. El usuario solicita un canal: El reproductor del espectador envía una solicitud con su token o credenciales
  2. Astra consulta tu Middleware: Astra reenvía los detalles de la solicitud a tu sistema de gestión de usuarios
  3. El Middleware verifica permisos: Tu sistema comprueba si el usuario puede acceder a ese canal
  4. Acceso permitido o denegado: Si se aprueba, Astra transmite el contenido; si no, se bloquea el acceso

Ve a SettingsHTTP Auth en Astra. Elige tu “Backend Type” e ingresa la “Backend Address” de tu sistema.

Backend Address:

http://example.com/stalker_portal

En el panel de administración de Ministra/Stalker, activa Temporary URLFlussonic support

Para plataforma en la nube:

https://go.iptvportal.cloud

Para instalación local: Usa la dirección de tu servidor (por ejemplo, http://your-server.com)

En la configuración del portal abre el menú Keys y crea una nueva clave:

  • Name: Astra
  • Algorithm: ARESSTREAM
  • Mode: SM
  • Key Length: 1472 bit
  • Update Rate: 1:00:00

En la configuración de canales del portal:

  • Auth: arescrypt
  • Encoded: activar
  • Key: Astra

Backend Address:

http://example.com

Crea tu propio sistema de autenticación seleccionando HTTP Request como Backend Type y proporcionando la URL de tu endpoint personalizado.

Cuando un usuario solicita acceso, Astra envía una petición GET a tu endpoint con:

  • Parámetros de consulta: Todos los parámetros de la solicitud original del usuario
  • Cabeceras HTTP con detalles de la sesión:
    • X-Session-ID: número de sesión único
    • X-Channel-ID: identificador único del canal
    • X-Real-IP: dirección IP del cliente
    • X-Real-Path: ruta de la solicitud del cliente
    • X-Real-UA: User-Agent del cliente
    • X-Real-Host: Host de la solicitud del cliente

Tu backend puede responder con:

  • HTTP 200: Acceso permitido
  • HTTP 403/401: Acceso denegado
  • Cabecera X-Session-Name - Nombre de usuario (opcional)

Ejemplo de flujo:

  1. Tu backend: https://auth.example.com/check
  2. El usuario solicita: https://live.example.com/play/a001/index.m3u8?token=123
  3. Astra llama a: https://auth.example.com/check?token=123
  4. Las cabeceras incluyen: X-Real-Path: /play/a001/index.m3u8 y otros detalles de la solicitud

Si tu backend no está disponible, Astra permite el acceso por defecto. Esto evita que tu servicio se caiga si tu servidor de autenticación tiene problemas, pero significa que los usuarios tendrán acceso libre durante las interrupciones.

Si los usuarios pueden ver canales sin pagar, es posible que tu backend no esté funcionando. Prueba la conexión con tu backend:

Ventana de terminal
curl -v "https://auth.example.com/check"

Reemplaza la URL por la dirección real de tu backend desde la configuración de Astra.

Problemas comunes:

  • Connection refused: El servidor backend está caído
  • La solicitud no responde: Problemas de conectividad de red
  • URL incorrecta: Verifica la dirección de tu backend en la configuración

Los usuarios no pueden acceder a canales de pago

Sección titulada «Los usuarios no pueden acceder a canales de pago»

Si los usuarios legítimos son bloqueados:

  1. Revisa los registros de tu backend: Busca errores de autenticación
  2. Verifica los códigos de respuesta: Tu backend debe devolver HTTP 200 para usuarios válidos
  3. Prueba manualmente: Usa curl con un token válido para probar tu endpoint