Ir para o conteúdo

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
Obtenção de token de sistema para um sistema vinculado a outro

Para emitir um token em nome um sistema vinculado a outro, devem ser fornecidas as credenciais do sistema que se integra com o Acesso Gov, e utilizado o parâmetro de query idSistemaVinculado com o identificador do sistema vinculado. Por exemplo, se o identificador do sistema vinculado for 9876, a chamada em curl, retomando o exemplo anterior, será a seguinte:

curl -X GET "https://h.api.gestao.autorizagov.estaleiro.serpro.gov.br/api-gestao-autoriza/token?idSistemaVinculado=9876" -H  "accept: application/json" -H  "Authorization: Basic bWluaGEuYXBsaWNhY2FvLmdvdi5icjpmZHNmc2Rmc2R3ZXEzMTMxNA=="

O token é emitido em nome do sistema vinculado, e pode ser utilizado para chamar serviços para o sistema vinculado.