Introdução Consentimento - bs2.pj.apibanking.forintegration - Versão: 1

Introdução Consentimento

Fluxo de Consentimento

O fluxo de consentimento é a forma de você fazer requisições em nome do seu cliente.

Quem pode utilizar?

Todos os parceiros do banco BS2.

Quais são requisitos para a utilização?

Autenticação Consentimento

Autenticação Consentimento

Utilizamos em nossas API’s de autenticação um rate-limit, que permite até 10 requisições de token e refresh por minuto, sendo necessário realizar o gerenciamento de token.

Aplicação de Consentimento

Deve-se cadastrar uma aplicação para o fluxo de consentimento, a partir dessa aplicação que seram feitas as requisições para solicitar o consentimento e obter o token de acesso.

É obrigatório informar a url de redirecionamento.

As funcionalidades selecionadas serão apresentadas na tela do consentimento para confirmação do cliente.

image

Obtenção do Token

Para iniciar o fluxo de consentimento é necessário utilizar a url abaixo com os respectivos parâmetros.

Parâmetros

Nome Localizado em Descrição Obrigatório
response_type query Informar code Sim
client_id query API Key da aplicação cadastrada para o consentimento Sim
scope query Escopo da aplicação Sim
state query Campo livre para identificação do cliente/usuário Sim
redirect_uri query Endpoint para receber o código de autorização (authorization_code) Sim

Ao acessar a url do consentimento com os parâmetros válidos, a página abaixo será carregada para a autenticação do usuário.

image

Após validado usuário e senha, será solicitada a confirmação do consentimento com 2ª fator de autenticação (token sms). image

Com o token validado, redirecionaremos para seu endpoint com o código de autorização.

O método do seu endpoint deve ser GET e estar preparado para receber os seguintes parâmetros:

Nome Localizado em Obrigatório
code query Sim
state query Sim

Para obter o token de acesso a partir desse código, deve ser feito o fluxo de Authorization Code.

image

Gerenciamento de Token

É necessário fazer a gestão do token de acesso e do refresh_token dentro do seu sistema.

O refresh_token possui um tempo de validade maior que a validade do token (30 dias), ou seja, mesmo se o token de acesso estiver inválido há bastante tempo, e o refresh_token estiver válido, ainda é possível fazer o fluxo de refresh_token para gerar um novo token válido.

Caso perca o tempo de validade do refresh_token, será necessário refazer o fluxo de consentimento.

O campo expires_in representa a validade do token em segundos, enquanto o token estiver válido, este token deve ser utilizado.

Quando o token estiver próximo da validade, deve-se gerar um novo token, usando um refresh_token, para assim, receber um novo token válido pelo mesmo período de tempo.

Quando um novo token é gerado, o token anterior passa a ser inválido.

É importante frisar que a cada novo token gerado, um novo refresh_token também é gerado.

Pontos Importantes

Token de Atualização

1.1 Realizar uma requisição Basic Auth no endpoint abaixo com API Key e API Secret da aplicação.

1.2 Informar o valor refresh_token para o campo grant_type.

1.3 Informar o escopo da aplicação para o campo scope.

1.4 Informar o valor do refresh token recebido previamente para o campo refresh_token.

{
  "grant_type": "refresh_token",
  "scope": "scope aplicacao",
  "refresh_token": "refresh_token"
}
{
  "access_token": "seu_access_token_guid",
  "token_type": "tipo_de_token",
  "expires_in": "tempo_de_expiracao_em_segundos",
  "refresh_token": "seu_refresh_token_guid",
  "scope": "escopo da aplicação"
}

Parâmetros

Nome Localizado em Descrição Requerido
grant_type body Define o tipo de requisição Sim
scope body Define qual o escopo da requisição Sim
refresh_token body Inserir o refresh token recebido previamente Sim

Resposta

Código Descrição
200 Success
400 Bad Request
401 Unauthorized

Authorization Code

1.1 Realizar uma requisição Basic Auth no endpoint abaixo com API Key e API Secret da aplicação.

1.2 Informar o valor authorization_code para o campo grant_type.

1.3 Informar o código de autorização recebido para o campo code.

1.3 Informar o endpoint utilizado para receber o código de autorização para o campo redirect_uri.

{
  "grant_type": "authorization_code",
  "code": "código de autorização",
  "redirect_uri": "Endpoint de redirecionamento"
}
{
  "access_token": "seu_access_token_guid",
  "token_type": "tipo_de_token",
  "expires_in": "tempo_de_expiracao_em_segundos",
  "refresh_token": "seu_refresh_token_guid",
  "scope": "escopo da aplicação"
}

Parâmetros

Nome Localizado em Descrição Requerido
grant_type body Define o tipo de requisição Sim
code body Código de autorização recebido Sim
redirect_uri body Endpoint de redirecionamento Sim

Resposta

Código Descrição
200 Success
400 Bad Request
401 Unauthorized

null

Precisa de mais informações?

Se você ainda tem dúvidas, entre em contato conosco, estamos prontos para atende-lo:

empresas@bs2.com