Webhooks och integrationer
Verifiera en webhook-signatur
Beräkna signaturen över den råa förfrågningskroppen, före all JSON-parsning, och jämför i konstant tid. Att serialisera om nyttolasten ändrar byten, och signaturen stämmer då aldrig igen.
Steg
- Fånga den råa kroppen som byte. De flesta ramverk ger dig som standard ett redan parsat objekt, vilket redan är för sent.
- Beräkna signaturen över exakt de byten med din endpoints hemlighet.
- Jämför med en konstanttidsjämförelse i stället för stränglikhet.
- Parsa JSON först när signaturen verifierats.
- Avvisa allt som misslyckas, och logga leverans-id:t i stället för kroppen.
Så kontrollerar du resultatet
En äkta leverans verifieras, och samma nyttolast med ett ändrat tecken gör det inte.
Vad som brukar gå fel
- Parsa och serialisera om innan signaturen beräknas.
- En body parser-middleware som förbrukar strömmen före din handler.
- Ett enkelt
===på signaturen, som läcker via timing.
Löste det här ditt problem?
Det här hjälpte inte
Skriv till oss med plattform och version, stegen du tog, förväntat resultat och den arbetsyta eller QR-kod det gäller. Maskera varje hemlighet innan du bifogar något.
Skriv till supporten