🔄 Autorização de Múltiplos Clientes na API Conta Azul
Este guia mostra como conectar seu app a vários clientes Conta Azul, permitindo que cada um autorize seu acesso de forma independente, utilizando o padrão OAuth 2.0.
✅ Visão Geral
A Conta Azul usa o padrão OAuth 2.0 com Authorization Code Flow
.
Cada cliente precisa autorizar individualmente seu app. Após a autorização, você deve armazenar os tokens access_token
e refresh_token
de forma segura e associada a cada cliente.
🚀 Passo a Passo
1. Direcionar o cliente para a tela de autorização
Monte a URL abaixo com os parâmetros adequados:
https://auth.contaazul.com/oauth2/authorize?
response_type=code&
client_id=SEU_CLIENT_ID&
redirect_uri=SUA_REDIRECT_URI&
state=ESTADO&
scope=openid+profile+aws.cognito.signin.user.admin
📌 Essa URL deve ser aberta sempre que um novo cliente quiser conectar sua conta Conta Azul ao seu app.
2. Cliente autoriza e recebe o código
Após aceitar, o cliente é redirecionado para sua redirect_uri
com o code
:
https://SUA_REDIRECT_URI/?code=AUTORIZATION_CODE&state=ESTADO
3. Trocar o código por tokens
Envie um POST
para:
https://auth.contaazul.com/oauth2/token
Headers:
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
Body:
client_id=SEU_CLIENT_ID&
client_secret=SEU_CLIENT_SECRET&
grant_type=authorization_code
&code=AUTORIZATION_CODE
&redirect_uri=SUA_REDIRECT_URI
A resposta conterá:
{
"access_token": "ACCESS_TOKEN_GERADO",
"expires_in": 3600,
"refresh_token": "REFRESH_TOKEN_GERADO",
"token_type": "Bearer"
}
4. Armazenar os tokens por cliente
Você deve salvar os tokens separadamente para cada cliente que autorizar seu app.
Exemplo de estrutura:
Cliente | Access Token | Refresh Token | Expira em |
---|---|---|---|
Cliente A | ... | ... | ... |
Cliente B | ... | ... | ... |
5. Usar o token nas requisições
GET https://api-v2.contaazul.com/v1/pessoa
Authorization: Bearer ACCESS_TOKEN_DO_CLIENTE
🔄 Renovação do token
Quando o access_token
expirar, use o refresh_token
para gerar um novo:
POST https://auth.contaazul.com/oauth2/token
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=REFRESH_TOKEN_DO_CLIENTE
📘 Dica prática
Implemente um botão “Conectar Conta Azul” no seu painel por cliente.
Assim, cada empresa pode autorizar sua conta de forma independente.