HTTP Auth: Backend
A autorização por backend permite usar o seu sistema de gerenciamento de usuários já existente (Middleware) para controlar o acesso aos seus streams. Em vez de gerenciar usuários no Astra, você pode conectar a plataforma que já usa, como Ministra, IPTVportal ou um sistema próprio.
Como funciona
Seção intitulada “Como funciona”- O usuário solicita um canal: o player do espectador envia uma requisição com o token ou as credenciais dele
- O Astra pergunta ao seu Middleware: o Astra encaminha os detalhes da requisição ao seu sistema de gerenciamento de usuários
- O Middleware verifica as permissões: o seu sistema confere se o usuário pode acessar aquele canal
- Acesso liberado ou negado: se aprovado, o Astra transmite o conteúdo; se não, o acesso é bloqueado
Configuração
Seção intitulada “Configuração”Vá em Settings → HTTP Auth no Astra. Escolha o “Backend Type” e informe o “Backend Address” do seu sistema.
Ministra/Stalker
Seção intitulada “Ministra/Stalker”Backend Address:
http://example.com/stalker_portalNo painel de administração do Ministra/Stalker, ative Temporary URL → Flussonic support
IPTVportal
Seção intitulada “IPTVportal”Para a plataforma em nuvem:
https://go.iptvportal.cloudPara instalação local: use o endereço do seu servidor (por exemplo, http://your-server.com)
Nas configurações do portal, abra o menu Keys e crie uma nova chave:
Name: AstraAlgorithm: ARESSTREAMMode: SMKey Length: 1472 bitUpdate Rate: 1:00:00
Nas configurações de canal do portal:
Auth: arescryptEncoded: ativeKey: Astra
Microimpulse Smarty
Seção intitulada “Microimpulse Smarty”Backend Address:
http://example.comHTTP Request
Seção intitulada “HTTP Request”Crie o seu próprio sistema de autenticação selecionando HTTP Request como Backend Type e informando a URL do seu endpoint.
Quando um usuário pede acesso, o Astra envia uma requisição GET ao seu endpoint com:
- Parâmetros de consulta: todos os parâmetros da requisição original do usuário
- Cabeçalhos HTTP com os detalhes da sessão:
X-Session-ID: número único da sessãoX-Channel-ID: identificador único do canalX-Real-IP: endereço IP do clienteX-Real-Path: caminho da requisição do clienteX-Real-UA: User-Agent do clienteX-Real-Host: Host da requisição do cliente
O seu backend pode responder com:
HTTP 200: acesso liberadoHTTP 403/401: acesso negado- Cabeçalho
X-Session-Name- nome de login do usuário (opcional)
Exemplo de fluxo:
- Seu backend:
https://auth.example.com/check - O usuário solicita:
https://live.example.com/play/a001/index.m3u8?token=123 - O Astra chama:
https://auth.example.com/check?token=123 - Os cabeçalhos incluem:
X-Real-Path: /play/a001/index.m3u8e outros detalhes da requisição
Importante: comportamento padrão
Seção intitulada “Importante: comportamento padrão”Se o seu backend estiver inacessível, o Astra libera o acesso por padrão. Isso evita que o seu serviço saia do ar caso o servidor de autenticação tenha problemas, mas significa que os usuários ganham acesso livre durante as falhas.
Solução de problemas
Seção intitulada “Solução de problemas”Usuários com acesso livre
Seção intitulada “Usuários com acesso livre”Se os usuários conseguem assistir aos canais sem pagar, o seu backend pode estar fora do ar. Teste a conexão com o backend:
curl -v "https://auth.example.com/check"Troque a URL pelo endereço real do seu backend, conforme as configurações do Astra.
Problemas comuns:
Connection refused: o servidor de backend está fora do ar- A requisição trava: problemas de conectividade de rede
- URL errada: confira o endereço do backend nas configurações
Usuários não conseguem acessar canais pagos
Seção intitulada “Usuários não conseguem acessar canais pagos”Se usuários legítimos estão sendo bloqueados:
- Confira os logs do seu backend: procure por erros de autenticação
- Verifique os códigos de resposta: o seu backend precisa retornar HTTP 200 para usuários válidos
- Teste manualmente: use o curl com um token válido para testar o seu endpoint