Geração do token (autenticação com mTLS)
stable
Como mencionado na Visão geral desta documentação, o processo de autenticação com mTLS implica a troca de certificado entre as duas partes, cliente e servidor., o processo de autenticação com mTLS implica a troca de certificado entre as duas partes, cliente e servidor.
Quando a conexão for estabelecida através do mTLS, ela estará autenticada e terá propriedades que podem ser reutilizadas para segurança no nível do aplicativo.
Pré-requisito
Para que seja possível utilizar este endpoint, é necessário que:
- O parceiro tenha realizado o download do certificado TLS e o registro dinâmico de client.
Requisição
Requisição HTTP
POST https://auth-mtls.sandbox.bankly.com.br/oauth2/token
curl --location
--request POST 'https://auth-mtls.sandbox.bankly.com.br/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id={{client_id}}' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope={{scopes}}'
Cabeçalhos (Headers)
Nome | Descrição |
---|---|
Content-Type | Obrigatório. Indica o tipo de dado que o arquivo contém. Nesse caso, application/x-www-form-urlencoded . |
Parâmetros da rota (Path)
Não é necessário enviar parâmetros no path desta requisição.
Corpo da requisição (Body)
No body, envie os seguintes campos em formato x-www-form-urlencoded:
Nome | Tipo | Descrição | Especificação |
---|---|---|---|
client_id | string | Obrigatório. O valor desse campo deve ser preenchido com o client_id , retornado no endpoint de Registro dinâmico de client. | --- |
grant_type | string | Obrigatório. Método pelo qual suas aplicações podem obter tokens de acesso. | Informe o valor padrão “client_credentials”. |
scope | string | Obrigatório. Escopos relacionados aos produtos a serem utilizados neste client_id. A aplicação do parceiro poderá utilizar no máximo dez escopos por token. | Os escopos devem estar separados por um espaço em branco. Exemplo: “kyc.document.write business.write boleto.read ”. |
'client_id=client_id',
'grant_type=client_credentials',
'scope=scope1 scope2 scope3'
Nota
No ambiente de produção, para gerar o token, utilize o DNS: https://auth.bankly.com.br
Resposta (Response)
O status code 200 indicará que o token foi gerado com sucesso.
Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:
Nome | Tipo | Descrição |
---|---|---|
token_type | string | Tipo de token. Nesse caso, "Bearer". |
access_token | string | Token gerado. |
scope | string | Scopes dos produtos em que o token poderá ser utilizado. |
claims | string | Atributos vinculados ao token emitido. |
expires_in | number | Tempo de expiração do token, no formato YYYY-MM-DDTHH:mm:SS.MMMZ. |
Importante
O token emitido via mTLS terá um tempo de vida de 15 minutos. O parceiro deve atentar-se à propriedade
expires_in
para implementar a sua estratégia de cache e renovação do token. É de extrema importância que se use o token por todo o seu tempo de vida, e que seja emitido outro apenas após a expiração daquele que já foi gerado.
{
"token_type": "bearer",
"access_token": "token",
"scope": "scopes",
"claims": "company_key",
"expires_in": 900
}
Após realizar o fluxo de autenticação com sucesso, o parceiro poderá acessar nossas APIs informando o access token.
Reforçamos que, em cada etapa do nosso processo, o certificado de transporte do cliente passa ser validado.
Portanto, é de extrema importância que o parceiro o armazene de forma segura para que o certificado possa ser recuperado sempre que seja feita uma requisição em nossas APIs.
Erros
Este endpoint não retorna erros específicos. Porém, ele poderá retornar alguns erros comuns entre todos os endpoints.
Eventos
Este endpoint não possui eventos relacionados a ele.
Diagrama de sequência
Updated 12 months ago