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.
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.
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.
Após aceitar, o cliente é redirecionado para sua redirect_uri com o code:
https://SUA_REDIRECT_URI/?code=AUTORIZATION_CODE&state=ESTADOEnvie um POST para:
https://auth.contaazul.com/oauth2/tokenHeaders:
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencodedBody:
client_id=SEU_CLIENT_ID&
client_secret=SEU_CLIENT_SECRET&
grant_type=authorization_code
&code=AUTORIZATION_CODE
&redirect_uri=SUA_REDIRECT_URIA resposta conterá:
{
"access_token": "ACCESS_TOKEN_GERADO",
"expires_in": 3600,
"refresh_token": "REFRESH_TOKEN_GERADO",
"token_type": "Bearer"
}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 | ... | ... | ... |
GET https://api-v2.contaazul.com/v1/pessoas
Authorization: Bearer ACCESS_TOKEN_DO_CLIENTEQuando 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_CLIENTEImplemente um botão “Conectar Conta Azul” no seu painel por cliente.
Assim, cada empresa pode autorizar sua conta de forma independente.