Registro dinâmico de client (credencial)
stable
O parceiro pode escolher a melhor maneira de orquestrar esse registro, desde que ele aconteça antes da solicitação de um token de acesso.
Dica
Como sugestão, o parceiro pode realizar uma implementação para que a aplicação client seja registrada durante a sua inicialização (startup application).
Pré-requisito
Para que seja possível utilizar este endpoint, é necessário que:
- O parceiro tenha baixado o certificado mTLS para enviá-lo junto com o
passphrase
e aprivateKey
nessa requisição.
Importante
É obrigatório que ocorra a autenticação entre client e servidor por meio do protocolo TLS durante todas as requisições realizadas nas APIs do Bankly.
Requisição
Requisição HTTP
POST https://auth-mtls.sandbox.bankly.com.br/oauth2/register
--location
--request POST 'https://auth-mtls.sandbox.bankly.com.br/oauth2/register' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_types": ["client_credentials"],
"tls_client_auth_subject_dn": "{{subbjectDn da emissão do certificado}}",
"token_endpoint_auth_method": “tls_client_auth",
"response_types": ["access_token"],
"company_key": "{{company_key}}",
"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/json . |
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 JSON:
Nome | Tipo | Descrição | Especificação |
---|---|---|---|
grant_types | string | Obrigatório. Método pelo qual suas aplicações podem obter tokens de acesso. | Informe o valor fixo "client_credentials”. |
tls_client_auth_subject_dn | string | Obrigatório. Valor do campo subjectDn , retornado na requisição de download de certificado. | --- |
token_endpoint_auth_method | string | Obrigatório. Método de autenticação. | Informe o valor fixo “tls_client_auth”. |
response_types | string | Obrigatório. Tipos de resposta. | Informe o valor fixo "access_token”. |
company_key | string | Obrigatório. Identificador que discrimina a operação do parceiro dentro do Bankly. | --- |
scope | string | Obrigatório. Insira todos os scopes aos serviços que desejará acessar, separados por um espaço. | --- |
{
"grant_types": ["client_credentials"],
"tls_client_auth_subject_dn": "{{subbjectDn da emissão do certificado}}",
"token_endpoint_auth_method": “tls_client_auth",
"response_types": ["access_token"],
"company_key": "{{company_key}}",
"scope": "{{scopes}}"
}
Nota
No ambiente de produção, para o registro do client, utilize o DNS: https://auth.bankly.com.br
Resposta (Response)
O status code 200 indicará que o client foi registrado com sucesso.
Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:
Nome | Tipo | Descrição |
---|---|---|
grant_types | string | Sempre retornará o valor "client_credentials". |
subject_type | string | O valor padrão de retorno desse campo é “public”. |
tls_client_auth_subject_dn | string | Valor do campo subjectDn , retornado na requisição de download de certificado. |
registration_client_uri | string | URI para uma página da web que mostra informações sobre o client. |
company_key | string | Identificador que discrimina a operação do parceiro dentro do Bankly. |
registration_access_token_expires_in | number | Tempo (em segundos) após o qual o token de acesso do registro de client que foi criado irá expirar. |
registration_access_token | string | Token para obter acesso às informações do client que foi criado. |
client_id | string | Identificador único que deverá ser informado na geração do token. |
token_endpoint_auth_method | string | Método de autenticação a ser usado no endpoint de token para autenticação do client. |
require_proof_key | boolean | Indica se o servidor de identidade requer que o client forneça prova de chave privada do certificado durante a emissão dos tokens. |
scope | string | Scopes referentes aos serviços que serão acessados. |
token_endpoint_auth_methods | array of strings | Lista dos métodos de autenticação a serem usados no endpoint de token para autenticação do client. |
client_id_issued_at | string | Data de emissão do client_id . |
access_token_ttl | number | Tempo de vida dos tokens de acesso que serão emitidos com o client que foi registrado. |
response_types | array of strings | Lista com os tipos de resposta. |
Importante
O parceiro precisa se atentar à data de emissão do
client_id
. Para garantir a segurança, é imprescindível implementar uma política de DCM (Gerenciamento Dinâmico de Clientes), a fim de expirar o client após 180 dias da sua data de emissão. Além disso, é essencial que seja gerado apenas um client por aplicação, para garantir que seja emitido o menor número de clients possível, o que garantirá a segurança e o controle deles.
{
"grant_types": [
"client_credentials"
],
"subject_type": "public",
"tls_client_auth_subject_dn": "CN=sdb2_bankly.client-auth.sandbox.bankly.services,OU=SDB2_BANKLY,L=Sao Paulo,ST=SP,O=SDB2_BANKLY,C=BR,OID.0.9.2342.19200300.100.1.1=f71cbb0f-8101-4fd0-b1de-5fb0abbf2085,OID.2.5.4.15=Full Bank,OID.2.5.4.5=55272502000163",
"registration_client_uri": "https://auth-mtls.sandbox.bankly.com.br/oauth2/register/2a0412a0-02ce-4323-b913-4882f8cde84e",
"company_key": "COMPANY_KEY",
"registration_access_token_expires_in": 31536000,
"registration_access_token": "_0ERuo3g_aa7ae5d6-3212-425d-84cf-321bd667b4f9",
"client_id": "2a0412a0-02ce-4323-b913-4882f8cde84e",
"token_endpoint_auth_method": "tls_client_auth",
"require_proof_key": false,
"scope": "{{scopes}}",
"token_endpoint_auth_methods": [
"tls_client_auth"
],
"client_id_issued_at": "2021-08-31T21:20:58.754Z",
"access_token_ttl": 900,
"response_types": [
"access_token"
]
}
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