Saltar para o conteúdo

Password grant

POST /oauth/token emite o token por OAuth 2.0 password grant em uma única chamada. Use esta rota em integrações técnicas, com um operador próprio para a integração.

Importante

/oauth/token aceita somente a autenticação nativa: não aplica a 2FA e não aceita LDAP. Para reproduzir o login do Riversoft Console Portal, com 2FA ou LDAP, use Login local e 2FA.

Obter o token

Envie as credenciais do operador em um formulário application/x-www-form-urlencoded:

read -r -p 'Operador: ' API_USER
read -r -s -p 'Senha: ' API_PASSWORD; printf '\n'

curl -s \
  --data-urlencode 'grant_type=password' \
  --data-urlencode "username=$API_USER" \
  --data-urlencode "password=$API_PASSWORD" \
  "$API_BASE/oauth/token"

Resposta

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "scope": "{\"stcpcore\":{\"instance\":15,\"user\":15,\"service\":15,\"schedule\":15,...}}",
  "operator": "stcpadmin",
  "rest_name": "RestAPI",
  "token_type": "Bearer"
}
CampoDescrição
access_tokenToken usado nas chamadas seguintes.
scopePermissões do operador sobre cada grupo de recursos (JSON serializado em texto).
operatorOperador autenticado.
rest_nameNome do cadastro da API (rest_name do config.json).
token_typeSempre Bearer.

O token vale 60 minutos por padrão. Veja como usá-lo em Sessão e logout.

Erros

HTTPSituação
400grant_type diferente de password, username ou password ausente, ou corpo vazio.
401Credenciais não aceitas ou operador bloqueado (Operator is locked, contact your system administrator).
415Content-Type diferente de application/x-www-form-urlencoded.
500Erro interno.

Depois do número máximo de falhas definido nas políticas de senha, o operador é bloqueado.

Contrato completo em Referência: Autenticação.