Obter Tokens de Acesso

Para acessar os recursos de um usuário com o prévio consentimento dele pelo Connect você precisará do código de autorização dele. Do passo anterior, lembre-se de que enviamos esse código ou pela URL de callback ou pelo listener de evento.


Troca do Código de Autorização por Tokens


O código de autorização é válido por 60 minutos e isso significa que você tem apenas 60 minutos para pedir autorização para nossa API em nome do usuário usando esse código. Envie um POST request para https://kasbah.guiabolso.com.br para a rota /partner/events/

COPIAR
{
"name": "oauth:tokens:exchange",
"version": 1,
"id": UUID,
"flowId": UUID,
"payload": {
"code": AUTH_CODE
},
"identity": {
"clientId": CLIENT_ID
},
"auth": {
"clientSecret": CLIENT_SECRET
},
"metadata": {}
}
CampoDescrição
idÉ um identificador único, pode ser um UUID gerado de forma aleatória, que identifica esse evento específico. Você pode passar qualquer identificador aqui contanto que ele seja único e não seja sensível.
flowIdÉ um identificador único, pode ser um UUID gerado de forma aleatória. Diz respeito a como o Guiabolso rastreia as requisições dentro da sua plataforma, você pode passar qualquer identificador aqui contanto que ele seja único e não seja sensível.
codeCódigo de autorização do usuário recebido via callback ou event listener e passado aqui em formato string
clientIdID da sua chave de API que fornecemos pra você
clientSecretSecret da sua chave de API que fornecemos pra você

Exemplo de uma resposta bem sucedida, note os dois tokens retornados dentro de payload.

COPIAR
{
"name": "oauth:tokens:exchange:response",
"version": 1,
"id": UUID,
"flowId": UUID,
"auth": {},
"identity": {},
"payload": {
"accessToken": ACCESS_TOKEN,
"refreshToken": REFRESH_TOKEN
},
"metadata": {}
}

E se o Token de Acesso tiver Expirado?


O token de acesso (i.e., accessToken) tem a expiração de apenas 30 minutos, isso quer dizer que você tem 30 minutos pra usá-lo. Se o token tiver expirado você pode gerar um outro token contanto que tenha o token de atualização (i.e. refreshToken). Envie um POST request para https://kasbah.guiabolso.com.br para a rota /partner/events/

COPIAR
{
"name": "oauth:refresh:token:exchange",
"version": 1,
"id": UUID,
"flowId": UUID,
"payload": {
"refreshToken": REFRESH_TOKEN
},
"identity": {
"clientId": CLIENT_ID
},
"auth": {
"clientSecret": CLIENT_SECRET
},
"metadata": {}
}

Exemplo de uma resposta bem sucedida, note que o novo token é retornado dentro de payload.

COPIAR
{
"name": "oauth:refresh:token:exchange:response",
"version": 1,
"id": UUID,
"flowId": UUID,
"payload": {
"accessToken": ACCESS_TOKEN
},
"identity": {},
"auth": {},
"metadata": {}
}
avisoO refreshToken é válido por 1 dia inteiro a não ser que seja um usuário do Guiabolso, um usuário do Guiabolso tem o refreshToken válido durante 90 dias. Isso quer dizer que você poderá obter as mesmas informações financeiras do usuário, disponíveis na nossa API dentro de 24 horas ou 90 dias, dependendo do tipo do usuário.

E o Middleware como ajuda?


Nós criamos um Middleware pra ajudar na integração e fazer o mapeamento dos tokens pra você, se você quiser saber mais detalhes sobre os benefícios de usar o Connector basta seguir e ler as próximas seções. Mas note que o Middleware deve ser instalado na sua infraestrutura de Cloud (hoje suportamos tanto a AWS quanto o GCP).

Envie um POST request para o Connector para a rota /partner/events/ passando o código de autorização e o próprio Connector já vai gerenciar pra você se o token de acesso tiver expirado.

COPIAR
{
"name": "authorization:code",
"version": 1,
"id": UUID,
"flowId": UUID,
"payload": {
"authorizationCode": AUTH_CODE
},
"identity": {
"userId": USER_ID
},
"metadata": {},
"auth": {}
}
CampoDescrição
idÉ um identificador único, pode ser um UUID gerado de forma aleatória, que identifica esse evento específico. Você pode passar qualquer identificador aqui contanto que ele seja único e não seja sensível.
flowIdÉ um identificador único, pode ser um UUID gerado de forma aleatória. Diz respeito a como o Guiabolso rastreia as requisições dentro da sua plataforma, você pode passar qualquer identificador aqui contanto que ele seja único e não seja sensível.
authorizationCodeCódigo de autorização do usuário recebido via callback ou event listener e passado aqui em formato string
userIdID do seu usuário na sua plataforma em formato string

Note que no Connector é necessário informar um ID de usuário da sua plataforma, e o próprio Connector já vai gerenciar pra você os mapeamentos. Ele também já terá configurado o seu acesso e suas chaves de API de maneira segura e criptografada, e portanto você não precisar se preocupar com esses dados sendo trafegados dentro da sua infraestrutura de maneira indevida.

Exemplo de uma resposta bem sucedida, note que os tokens não foram retornados na resposta porque o Connector os armazena num banco de dados e gerencia toda a troca de tokens e atualização dos tokens expirados para você.

COPIAR
{
"name": "authorization:code:response",
"version": 1,
"id": UUID,
"flowId": UUID,
"payload": {},
"identity": {},
"auth": {},
"metadata": {}
}
Anterior
1. Abrir o Connect
Próximo
3. Buscar Dados do Usuário

© GuiaBolso Finanças Correspondente Bancário e Serviços LTDA 2020

O Guiabolso Connect utiliza cookies e tecnologias similares, como pixels e tags, para oferecer a melhor experiência para o usuário. Ao utilizar nossos serviços, você concorda com essa utilização. Mais detalhes no item 5 da nossa Política de Privacidade