Consentimento

O parceiro deverá disponibilizar ao correntista a tela de OAuth 2 para sua autenticação. Para isso é necessário realizar uma requisição GET no método /api-banking/auth/oauth/v2/authorize, conforme passos:

  1. Realizar uma requisição Basic Auth no endpoint acima com API Key e API Secret da aplicação;

  2. Informar a descrição code no campo response_type;

  3. Informar o escopo da aplicação no campo scope;

  4. O campo state é livre para identificação do cliente/usuário;

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

Autenticação do correntista

O correntista do BS2, ao acessar a URL do consentimento com os parâmetros válidos apresentada pelo parceiro, será redirecionado para uma tela de login no ambiente do Banco BS2:

Após validação do usuário e senha do correntista, será solicitada a confirmação do consentimento com segundo fator de autenticação, token app ou token SMS:

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

O redirect_uri deve ser GET e estar preparado para receber os seguintes parâmetros:

NomeLocalizado emObrigatório
codequerySim
statequerySim

📝

Nota:

O parâmetro code é obrigatório para realizar a autenticação no próximo passo [Autenticação do parceiro na conta do correntista]

Autenticação do parceiro na conta do correntista

Para obter o access_token e Refresh_token a partir desse code, deve ser feito o fluxo de authorization code, acessando o método POST /auth/oauth/v2/token, conforme passos:

  1. Realizar uma requisição Basic Auth no endpoint acima com API Key e API Secret da aplicação;

  2. Informar o valor authorization_code para o campo grant_type;

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

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

Gerenciamento de Token

É necessário fazer a gestão do access_token e refresh_token dentro do sistema do parceiro.

O refresh_token possui um tempo de validade maior que o access_token, ou seja, mesmo se o access_token estiver expirado, o refresh_token possui 30 dias de validade.

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. É importante frisar que a cada novo token gerado, um novo refresh_token também é gerado.

O campo expires_in representa a validade do token em segundos.

⚠️

Importante:

  • Caso perca o tempo de validade do refresh_token, será necessário refazer o fluxo de consentimento completo;
  • Não há limite de requisições enquanto o token estiver válido;
  • O token de acesso é necessário para todas as requisições em nossas APIs.

Refresh Token

  1. Realizar uma requisição Basic Auth no endpoint abaixo com apikey e apisecret da aplicação;

  2. Informar o valor refresh_token para o campo grant_type;

  3. Informar o escopo da aplicação para o campo scope;

  4. Informar o valor do refresh_token recebido previamente para o campo refresh_token.

Para realizar um teste prático, acesse aqui: Access Token/RefreshToken