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 NeoID.
POST /client_token
¶
Solicitação¶
A aplicação deve solicitar ao endpoint de token de aplicação do PSC NeoID, https://psc-neoid.estaleiro.serpro.gov.br/psc/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 NeoID.
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
```http tab="HTTP" POST /psc/v0/oauth/client_token HTTP/1.1 Host: psc-neoid.estaleiro.serpro.gov.br Content-type: application/x-www-form-urlencoded
grant_type=client_credentials &client_id={client_id} &client_secret={client_secret}
```shell tab="cURL"
curl -X POST \
https://psc-neoid.estaleiro.serpro.gov.br/psc/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 NeoID 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 NeoID 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 NeoID 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 NeoID 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. |