Autenticação
Aprenda como autenticar com a API do Rafobase usando chaves de API e proteja suas requisições.
Autenticação
Todas as requisições de API ao Rafobase requerem autenticação. Este guia cobre como obter e usar suas credenciais de API com segurança.
Chaves de API
Rafobase usa chaves de API para autenticação. Cada chave é escopo de uma única conta de merchant.
As chaves de API são identificadores únicos (UUIDs) gerados por merchant. Cada chave está associada a uma única conta.
Aviso de Segurança: Nunca exponha suas chaves de API em código cliente, repositórios públicos ou logs.
Obtendo Sua Chave de API
- Faça login no Painel do Rafobase
- Navegue para Configurações → Chaves de API
- Clique em Gerar Nova Chave
- Copie e armazene a chave com segurança
As chaves de API são mostradas apenas uma vez na criação. Se perdida, você precisará gerar uma nova e revogar a antiga.
Usando Chaves de API
O método principal de autenticação é o cabeçalho X-API-Key. Alternativamente, Authorization: Bearer {key} também é suportado.
curl https://api.rafobase.com/api/v1/member/me?email=test@example.com \
-H "X-API-Key: $RAFOBASE_API_KEY"const response = await fetch('https://api.rafobase.com/api/v1/member/me?email=test@example.com', {
headers: {
'X-API-Key': process.env.RAFOBASE_API_KEY,
'Content-Type': 'application/json',
},
});import requests
import os
response = requests.get(
'https://api.rafobase.com/api/v1/member/me',
params={'email': 'test@example.com'},
headers={
'X-API-Key': os.environ['RAFOBASE_API_KEY'],
'Content-Type': 'application/json',
}
)Variáveis de Ambiente
Armazene sua chave de API em variáveis de ambiente:
# .env (nunca faça commit deste arquivo)
RAFOBASE_API_KEY=a1b2c3d4-e5f6-7890-abcd-ef1234567890
RAFOBASE_WEBHOOK_SECRET=f9e8d7c6-b5a4-3210-fedc-ba9876543210Exemplos de Framework
// Carregue de .env
require('dotenv').config();
const apiKey = process.env.RAFOBASE_API_KEY;// As variáveis de ambiente do next.config.js são carregadas automaticamente
// Acesse apenas em rotas de API ou componentes de servidor
const apiKey = process.env.RAFOBASE_API_KEY;import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv('RAFOBASE_API_KEY')Verificação de Assinatura de Webhook (Outbound)
Ao receber webhooks enviados pelo Rafobase para seu sistema (outbound), verifique a assinatura para garantir a autenticidade. O cabeçalho utilizado é X-Rafobase-Signature: sha256=xxxxx.
Para mais detalhes, consulte o Guia de Webhooks.
import crypto from 'crypto'
function verifyWebhookSignature(payload, signature, secret) {
const expected = `sha256=${crypto.createHmac('sha256', secret).update(payload).digest('hex')}`
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))
}
// Em seu manipulador de webhook outbound do Rafobase
app.post('/webhooks/rafobase', (req, res) => {
const signature = req.headers['x-rafobase-signature']
const isValid = verifyWebhookSignature(
JSON.stringify(req.body),
signature,
process.env.RAFOBASE_WEBHOOK_SECRET
)
if (!isValid) {
return res.status(401).json({ error: 'Assinatura inválida' })
}
// Processe o webhook...
})Rotação de Chave
Periodicamente rotacione suas chaves de API por segurança:
- Gere uma nova chave
- Atualize sua aplicação para usar a nova chave
- Verifique que a nova chave funciona em produção
- Revogue a chave antiga
Configure lembretes de rotação de chave a cada 90 dias como melhor prática de segurança.
Respostas de Erro
Erros de autenticação retornam status 401 Não Autorizado:
{
"error": {
"code": "unauthorized",
"message": "Chave de API inválida ou ausente"
}
}Melhores Práticas de Segurança
- Nunca exponha chaves em código cliente
- Use variáveis de ambiente - Não codifique as chaves
- Restrinja permissões de chave - Use chaves de teste para desenvolvimento
- Monitore o uso de chave - Revise logs de API regularmente
- Rotacione chaves periodicamente - A cada 90 dias no mínimo
- Use assinaturas de webhook - Sempre verifique webhooks recebidos
Relacionado
- Guia de Webhooks - Configurando endpoints de webhook
- Referência de API - Documentação completa da API