Skip to main content
Het verifiëren van webhook-signaturen is essentieel voor de beveiliging. Zo weet je zeker dat de webhook echt van storekit komt en niet is gemanipuleerd.

Waarom verifiëren?

Omdat je webhook-endpoint publiek toegankelijk is, kan iedereen verzoeken sturen en zich voordoen als storekit. Signatuurverificatie voorkomt:
  • Vervalste verzoeken: Aanvallers die valse webhooks versturen
  • Replay-aanvallen: Oude webhooks die kwaadwillig opnieuw worden verstuurd
  • Datamanipulatie: Wijzigingen aan webhook-payloads onderweg

Svix-bibliotheken gebruiken (aanbevolen)

We raden aan om voor verificatie de officiële Svix-bibliotheken te gebruiken; die nemen alle complexiteit voor je uit handen:
Gebruik voor verificatie altijd de ruwe request-body. Als je de JSON eerst parseert en daarna weer stringifyt, komt de signatuur niet overeen door mogelijke formatteringsverschillen.

Handmatige verificatie

Als je liever handmatig signaturen verifieert zonder de Svix-bibliotheek te gebruiken, volg dan de onderstaande stappen.

Signatuur-headers

Elke webhook bevat deze headers voor verificatie:

Verificatiestappen

1. Headers extraheren

2. Timestamp verifiëren (replay-aanvallen voorkomen)

Weiger webhooks met een timestamp ouder dan 5 minuten:

3. Ondertekende inhoud opbouwen

Voeg de webhook-ID, timestamp en body samen:

4. Verwachte signatuur berekenen

Gebruik HMAC-SHA256 met je webhook-secret:

5. Signaturen vergelijken