Authentication

You'll need to authenticate your requests to access any of the endpoints in the Protocol API. In this guide, we'll look at how authentication works. Protocol offers two ways to authenticate your API requests: Basic authentication and OAuth2 with a token — OAuth2 is the recommended way.

Get Token

Para obter os tokens de autenticação necessários para acessar a API, você precisa fazer uma requisição POST para o endpoint abaixo. Este endpoint utiliza o formato x-www-form-urlencoded para envio dos dados.

Endpoint:

POST {{authUrl}}/auth/realms/bankeiro-app/protocol/openid-connect/token

Parâmetros da requisição

ParâmetroObrigatórioValorDescrição
grant_typeSimpasswordTipo de autenticação utilizado
client_idSimclient_idIdentificador do cliente
usernameSimusernameNome do usuário
passwordSim@SenhaSecreta123Senha do usuário

Exemplo de Requisição

curl -X POST '{authUrl}/auth/realms/bankeiro-app/protocol/openid-connect/token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=password' \
  -d 'client_id=client_id' \
  -d 'username=username' \
  -d 'password=@SenhaSecreta123'

Resposta className:

Em caso de sucesso, o servidor retornará um status code 200 OK com os seguintes dados:

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia21...",
  "expires_in": 300,
  "refresh_expires_in": 1800,
  "refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia21..."
}
CampoTipoDescrição
access_tokenstringToken JWT que deve ser utilizado para autenticar as requisições
expires_innumberTempo de expiração do access_token em segundos
refresh_expires_innumberTempo de expiração do refresh_token em segundos
refresh_tokenstringToken utilizado para obter um novo access_token quando o atual expirar

O access_token retornado deve ser incluído no header Authorization de todas as requisições subsequentes à API utilizando o formato Bearer {token}.

Refresh Token

Endpoint utilizado para renovar o token de acesso utilizando o refresh token. Este endpoint utiliza o formato x-www-form-urlencoded para envio dos dados.

Endpoint:

POST {{authUrl}}/auth/realms/bankeiro-app/protocol/openid-connect/token

Parâmetros da requisição

ParâmetroObrigatórioValorDescrição
refresh_tokenSimrefreshTokenToken de atualização obtido na autenticação
grant_typeSimrefresh_tokenTipo de autenticação utilizado
client_idSimclient_idIdentificador do cliente

Exemplo de Requisição

Requisição cURL

curl -X POST '{{authUrl}}/auth/realms/bankeiro-app/protocol/openid-connect/token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'refresh_token={{refreshToken}}' \
  -d 'grant_type=refresh_token' \
  -d 'client_id={{client_id}}'

Resposta

Em caso de sucesso, o servidor retornará um status code 200 OK com os seguintes dados:

Resposta

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia21...",
  "expires_in": 300,
  "refresh_expires_in": 1800,
  "refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia21..."
}
CampoTipoDescrição
access_tokenstringNovo token JWT que deve ser utilizado para autenticar as requisições
expires_innumberTempo de expiração do novo access_token em segundos
refresh_expires_innumberTempo de expiração do novo refresh_token em segundos
refresh_tokenstringNovo token que pode ser utilizado para obter um novo access_token

Was this page helpful?