Pular para o conteúdo

API de usuários

Os usuários são usados para controlar o acesso à interface web do Astra e também o acesso às saídas HTTP MPEG-TS e HLS

{
"enable": true,
"type": 0,
"comment": "...",
"token": "...",
"ip": "...",
"expire": 0,
"conlimit": 0
}
  • enable – conta ativada ou não
  • type – tipo de usuário
    • 1 - admin. Acesso total à interface web do Astra
    • 2 - observador. Acesso somente leitura à interface web do Astra
    • 3 - usuário comum. Sem acesso à interface web do Astra
  • comment - campo opcional, para a descrição do usuário

Campos opcionais para a autorização integrada de acesso aos canais HLS ou HTTP MPEG-TS:

  • token - token usado nas requisições HTTP. Por exemplo: http://server:8000/play/a001/index.m3u8?token=secret
  • ip - permite o acesso aos canais pelo endereço IP do cliente
  • expire - data no formato unix timestamp em que o acesso aos canais será bloqueado
  • connlimit - limita as conexões aos canais

Requisição: POST /control/

{
"cmd": "get-user",
"id": "..."
}
  • id - login do usuário

A resposta é um JSON com a configuração do usuário

Requisição: POST /control/

{
"cmd": "set-user",
"id": "...",
"user": {
"enable": true,
"type": 0,
"password": "..."
}
}
  • id – login do usuário
  • user - configuração do usuário
  • password - senha em texto puro; na configuração é salvo o hash da senha
Exemplo

Você pode criar um novo usuário executando o seguinte comando:

Terminal window
curl -X POST --user login -d @- http://server:8000/control/ <<END
{
"cmd": "set-user",
"id": "new-admin",
"user": {
"enable": true,
"type": 1,
"password": "secret"
}
}
END

em caso de sucesso, o Astra retorna:

{ "set-user": "ok" }

Requisição: POST /control/

{
"cmd": "set-user",
"id": "...",
"user": {
"remove": true
}
}

Requisição: POST /control/

Liga ou desliga o usuário:

{
"cmd": "toggle-user",
"id": "..."
}
  • id - login do usuário
Exemplo

Você pode ativar ou desativar um usuário executando o seguinte comando:

Terminal window
curl \
-X POST \
--user login \
-d '{"cmd":"toggle-user", "id":"login"}' \
http://server:8000/control/

em caso de sucesso, o Astra retorna:

{ "toggle-user": "ok" }