Autenticação¶
Para utilizar a API de Gestão, primeiro é necessário obter um token de sistema para a aplicação. Esse token será utilizado nas chamadas aos demais serviços.
Obtenção de token de sistema
Conforme a referência da api, um token de sistema pode ser recuperado através do serviço Obtenção de token de sistema. O serviço recebe o client_id da aplicação no Acesso Gov e a senha cadastrada no Autoriza em formato Basic no header Authorization da requisição, conforme especificação. Um exemplo de chamada em curl, com o client_id minha.aplicacao.gov.br e a senha fdsfsdfsdweq31314, é a que segue:
curl -X GET "https://h.api.gestao.autorizagov.estaleiro.serpro.gov.br/api-gestao-autoriza/token" -H "accept: application/json" -H "Authorization: Basic bWluaGEuYXBsaWNhY2FvLmdvdi5icjpmZHNmc2Rmc2R3ZXEzMTMxNA=="
O retorno desse serviço possui duas informações essenciais para a execução dos demais endpoints da API: o id de sistema e o token de acesso.
Ambos são parâmetros obrigatórios nas chamadas aos demais endpoints, e devem ser guardados pela aplicação ao menos até o token de acesso fornecido expirar, e ser necessário recuperar um novo token.
Formato do token de sistema
O token de sistema possui um formato JWT, e uma assinatura a ser utilizada na verificação de autenticidade.
Ele possui os seguintes claims (afirmações):
Claim | Descrição |
---|---|
aud | Client ID do sistema para uso do qual o token foi emitido |
sub | Client ID do sistema em nome do qual o token foi emitido |
exp | Quando o token vai expirar, em número de segundos desde a Era Unix |
jti | Hash de identificação única do token |
iat | Quando o token foi emitido, em número de segundos desde a Era Unix |
iss | Identificação do sistema emissor do token, no caso, o Autoriza |
id_sistema | ID do sistema na base do Autoriza |
scope | Escopo de uso do token |
amr | Método de autenticação utilizado para obtenção do token |