Skip to main content

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.
O certificado X.509 deve estar vinculado à sua conta antes de ser utilizado. Certificados não vinculados serão rejeitados mesmo que válidos.

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 header Authorization 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:
  1. Formato PEM válido: O certificado deve estar no formato PEM e URL-encoded
  2. Vinculação à conta: O fingerprint SHA256 do certificado deve estar registrado e vinculado à sua conta
  3. Correspondência de credenciais: O certificado deve pertencer à mesma conta das credenciais OAuth
Certificados não vinculados ou vinculados a outra conta serão rejeitados, mesmo que tecnicamente válidos.

Erros Comuns

400 Bad Request

Causa: Certificado ausente ou mal formatado
Solução: Verifique se:
  • O certificado está no formato PEM
  • O certificado está URL-encoded (use encodeURIComponent())
  • O header X-SSL-Client-Cert está presente na requisição

401 Unauthorized

Causa: Credenciais inválidas ou certificado não autorizado
Solução: Verifique se:
  • O clientId e clientSecret estã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 à conta
Solução: Entre em contato com o suporte Fire Banking para vincular o certificado à sua conta.

Boas Práticas

Nunca exponha suas credenciais em código-fonte. Use variáveis de ambiente ou cofres de segredos (AWS Secrets Manager, Azure Key Vault, etc.).
Evite requisições desnecessárias armazenando tokens válidos em cache (Redis, memória, etc.).
Configure alertas para detectar falhas de autenticação recorrentes, que podem indicar problemas com renovação de tokens.
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