Backend · Pagamentos
Webhook Assinado (HMAC)
Assina e verifica webhooks próprios no padrão t=,v1= (estilo Stripe) com janela anti-replay e rotação de segredo. Integrações com parceiros sem risco de requisição forjada.
Webhook · HMAC · Stripe-style · 8 testes automatizados · Licença MIT · Criado por FlowCore Soluções LTDA
Como instalar
- Funciona onde você já roda Node 18+, Cloudflare Workers, Deno, Bun, Vercel e Netlify Functions. Zero dependência: só fetch e Web Crypto, que já vêm no runtime.
- Crie src/lib/webhook-hmac.ts Cole o código da aba Código.
- Use
const header = await assinarWebhook(corpo, env.WEBHOOK_SECRET); // no receptor, com o corpo bruto: const r = await verificarWebhook(corpoBruto, req.headers.get("x-signature"), [novo, antigo]); if (!r.valido) return new Response(r.motivo, { status: 401 }); - Rode o teste junto O arquivo de teste (aba Teste) cobre 8 cenários. Copie para src/lib/ ao lado e rode:
npm install -D vitest npx vitest run src/lib
Código no GitHub · Biblioteca de códigos