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âmetro | Obrigatório | Valor | Descrição |
---|---|---|---|
grant_type | Sim | password | Tipo de autenticação utilizado |
client_id | Sim | client_id | Identificador do cliente |
username | Sim | username | Nome do usuário |
password | Sim | @SenhaSecreta123 | Senha 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..."
}
Campo | Tipo | Descrição |
---|---|---|
access_token | string | Token JWT que deve ser utilizado para autenticar as requisições |
expires_in | number | Tempo de expiração do access_token em segundos |
refresh_expires_in | number | Tempo de expiração do refresh_token em segundos |
refresh_token | string | Token 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âmetro | Obrigatório | Valor | Descrição |
---|---|---|---|
refresh_token | Sim | refreshToken | Token de atualização obtido na autenticação |
grant_type | Sim | refresh_token | Tipo de autenticação utilizado |
client_id | Sim | client_id | Identificador 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..."
}
Campo | Tipo | Descrição |
---|---|---|
access_token | string | Novo token JWT que deve ser utilizado para autenticar as requisições |
expires_in | number | Tempo de expiração do novo access_token em segundos |
refresh_expires_in | number | Tempo de expiração do novo refresh_token em segundos |
refresh_token | string | Novo token que pode ser utilizado para obter um novo access_token |