Token de acesso de aplicação¶
Realiza a obtenção de token de aplicação que possibilita a atualização dos dados da aplicação no PSC SerproID.
POST /client_token
¶
Solicitação¶
A aplicação deve solicitar ao endpoint de token de aplicação do PSC SerproID, https://serproid.serpro.gov.br/oauth/v0/oauth/client_token
postando via application/x-www-form-urlencoded
os parâmetros necessários.
Parâmetros¶
A tabela a seguir descreve os parâmetros suportados pelo endpoint de token de aplicação do PSC SerproID.
Parâmetro | Presença | Descrição / Valor |
---|---|---|
grant_type |
(Obrigatório) | O valor deve ser "client_credentials " |
client_id |
(Obrigatório) | Deve conter o client_id (identificador único) da aplicação |
client_secret |
(Obrigatório) | Deve conter a client_secret (senha) da aplicação, utilizado em conjunto com o client_id para a sua identificação |
Exemplo¶
O exemplo encontra-se com quebras de linha e espaços para melhor leitura
POST /oauth/v0/oauth/client_token HTTP/1.1
Host: serproid.serpro.gov.br
Content-type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id={client_id}
&client_secret={client_secret}
curl -X POST \
https://serproid.serpro.gov.br/oauth/v0/oauth/client_token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'cache-control: no-cache' \
-d 'grant_type=client_credentials&client_id={client_id}&client_secret={client_secret}'
Resposta da solicitação¶
O PSC SerproID irá verificar todos os parâmetros para validar a solicitação. As credenciais da aplicação, client_id
e client_secret
, serão checadas para realizar a sua autenticação.
Solicitação válida (Sucesso)¶
Se a solicitação estiver válida, o PSC SerproID irá gerar um token de acesso (access_token
), que será retornado via HTTP code 200 na resposta da solicitação em conjunto com alguns parâmetros adicionais no formato application/json
.
Parâmetros¶
JSON:
access_token
- (string) - token de acesso gerado pelo PSC SerproID que permite a atualização das informações da aplicaçãotoken_type
- (string) - tipo do token, valor fixo "Bearer"expires_in
- (inteiro) - validade do token em segundos
O token de acesso estará válido por 60 minutos, período no qual poderá ser utilizado para realizar a atualização das informações da aplicação.
Exemplo¶
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: Cache-Control
Pragma: no-cache
{
"access_token": "<token_de_acesso_de_aplicacao>",
"token_type": "Bearer",
"expires_in": 3600
}
Solicitação inválida (Erro)¶
Se a solicitação for considerada inválida, seja devido a verificação dos parâmetros informados ou caso algum erro inesperado aconteça, o PSC SerproID retornará um erro no formato application/json
com o HTTP code correspondente ao tipo do erro.
Parâmetros¶
JSON:
code
- (string) - código do tipo do erromsg
- (string) - mensagem de errodebug
- (string) - informações adicionais sobre o erro
Exemplo¶
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"code": "AUTENTICACAO_INVALIDA_CLIENT_OAUTH",
"msg": "Falha na autenticidade do client_id e client_secret.",
"debug": ""
}
Lista de erros¶
Tipo do erro | HTTP Code | Detalhes |
---|---|---|
CAMPO_OBRIGATORIO |
412 | O campo ... é obrigatório |
VALOR_PARAMETRO_INVALIDO |
400 | Valor do parâmetro ... inválido |
CLIENTE_OAUTH_NAO_IDENTIFICADO |
412 | Não foi possível identificar a aplicação cliente. |
AUTENTICACAO_INVALIDA_CLIENT_OAUTH |
401 | Falha na autenticidade do client_id e client_secret. |
FALHA_TOKEN_MANUTENCAO_APLICACAO |
500 | Erro interno na obtenção do token de manutenção da aplicação. |