Visão Geral
A API Fire Banking utiliza autenticação baseada em OAuth 2.0 com certificados X.509 (mTLS). Este modelo de segurança em camadas garante que apenas clientes autorizados com certificados válidos possam acessar a API.Por que mTLS?
O mTLS (mutual TLS) oferece segurança superior comparado a tokens simples:- Autenticação mútua: Tanto o cliente quanto o servidor se autenticam
- Não-repúdio: Certificados vinculados à conta garantem rastreabilidade
- Proteção contra roubo de credenciais: Mesmo com clientId/clientSecret vazados, o atacante precisaria do certificado
Pré-requisitos
Antes de iniciar, você precisará:1
Certificado Digital X.509
Obtenha seu certificado cliente através do portal Fire Banking. O certificado deve estar no formato PEM e será vinculado à sua conta.
2
Credenciais OAuth
Solicite suas credenciais (
clientId e clientSecret) no painel administrativo.3
Configuração do Ambiente
Configure seu ambiente para enviar o certificado no header
X-SSL-Client-Cert.Endpoint de Autenticação
POST /api/auth/token
Gera um token JWT de acesso válido por 30 minutos (1800 segundos).O certificado X.509 deve ser enviado URL-encoded no header
X-SSL-Client-Cert. O sistema valida o fingerprint SHA256 do certificado contra os registros vinculados à conta.Request
Response (201 Created)
Exemplo Prático: Node.js
Instalação
Código Completo
Exemplo Prático: Python
Instalação
Código Completo
Utilizando o Token
Após obter o token, inclua-o no headerAuthorization de todas as requisições:
Renovação de Token
Tokens expiram após 30 minutos. Implemente lógica de renovação automática em sua aplicação para evitar interrupções.
Estratégia Recomendada
Validação do Certificado
O sistema realiza as seguintes validações no certificado:- Formato PEM válido: O certificado deve estar no formato PEM e URL-encoded
- Vinculação à conta: O fingerprint SHA256 do certificado deve estar registrado e vinculado à sua conta
- Correspondência de credenciais: O certificado deve pertencer à mesma conta das credenciais OAuth
Erros Comuns
400 Bad Request
Causa: Certificado ausente ou mal formatado- O certificado está no formato PEM
- O certificado está URL-encoded (use
encodeURIComponent()) - O header
X-SSL-Client-Certestá presente na requisição
401 Unauthorized
Causa: Credenciais inválidas ou certificado não autorizado- O
clientIdeclientSecretestão corretos - O certificado está vinculado à sua conta no portal Fire Banking
- O certificado corresponde às credenciais OAuth utilizadas
403 Forbidden
Causa: Certificado não vinculado à contaBoas Práticas
Armazene credenciais de forma segura
Armazene credenciais de forma segura
Nunca exponha suas credenciais em código-fonte. Use variáveis de ambiente ou cofres de segredos (AWS Secrets Manager, Azure Key Vault, etc.).
Implemente cache de tokens
Implemente cache de tokens
Evite requisições desnecessárias armazenando tokens válidos em cache (Redis, memória, etc.).
Monitore expiração
Monitore expiração
Configure alertas para detectar falhas de autenticação recorrentes, que podem indicar problemas com renovação de tokens.
Use HTTPS em produção
Use HTTPS em produção
Sempre utilize conexões HTTPS para proteger credenciais em trânsito.
Próximos Passos
Consultar Saldo
Aprenda a consultar o saldo da conta
Gerar Cobrança PIX
Crie cobranças PIX dinâmicas