Skip to main content

Estado atual da autenticação

No fluxo atual, o webhook envia:
  • Content-Type: application/json
  • User-Agent: Gicoo-Webhook/1.0
  • headers customizados configurados por webhook
Atualmente não há assinatura HMAC nativa anexada ao payload.

Estratégia recomendada

  1. Gere um segredo interno da sua integração.
  2. Cadastre no webhook um header customizado, por exemplo:
{
  "Authorization": "Bearer SEU_SEGREDO"
}
  1. No receiver, valide esse header antes de processar o body.

Exemplo simples de validação

app.post('/webhooks/gicoo', (req, res) => {
  const auth = req.headers.authorization;

  if (auth !== `Bearer ${process.env.GICOO_WEBHOOK_TOKEN}`) {
    return res.status(401).json({ error: 'unauthorized' });
  }

  return res.status(200).json({ ok: true });
});

Hardening adicional

  • Restrinja IPs no gateway/reverse proxy quando possível.
  • Use HTTPS obrigatório.
  • Registre logs com event, timestamp e company_id.