Pular para conteúdo

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ção
  • token_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 erro
  • msg- (string) - mensagem de erro
  • debug - (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.