Autenticação
O DiffHook usa credenciais de cliente OAuth 2.0 para autenticar solicitações de API. Você troca uma chave de API por um token de portador de curta duração e depois envia esse token em cada solicitação.
Passo 1 — Obtenha sua chave API
Vá para Aplicativo → Configurações → Chaves de API e crie uma chave. Você receberá dois valores:
- ID do cliente (
client_id) — identificador público. Começa comdh_live_e continua com um sufixo aleatório (caracteres seguros para URL). - Segredo do cliente (
client_secret) — apenas segredo privado.
Passo 2 — Solicite um token ao portador
Troque suas credenciais por um token chamando POST /api/oauth/token com um corpo codificado em formulário:
Os tokens são válidos por 24 horas. Solicite um novo antes que o atual expire.
Passo 3 — Use o token ao portador
Passe access_token no cabeçalho Authorization em cada chamada de API:
curl https://www.diffhook.com/api/monitors \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Respostas de erro
Cabeçalho Authorization ausente ou malformado (401):
{ "error": "Authorization header missing or invalid" }
Token expirado ou adulterado — autenticar novamente para obter um novo (401):
{ "error": "Invalid or expired token" }
Credenciais incorretas no endpoint do token retornam um corpo de erro OAuth (401):
{
"error": "invalid_client",
"error_description": "Invalid client credentials"
}
Melhores práticas de segurança
- Nunca envie seu
client_secretpara controle de origem - Armazene credenciais em variáveis de ambiente (
DIFFHOOK_CLIENT_ID,DIFFHOOK_CLIENT_SECRET) - Os tokens expiram após 24 horas — inclua reautenticação automática em sua integração
- Gire as chaves imediatamente se alguma vazar — revogue a chave antiga em Configurações, gere uma nova
Rotação de chave
Para girar sem tempo de inatividade:
- Gere uma nova chave em Configurações → Chaves de API
- Solicite um token com as novas credenciais e implante seu aplicativo com ele
- Revogue a chave antiga assim que o tráfego mudar completamente