Skip to main content
Die Verifizierung von Webhook-Signaturen ist entscheidend für die Sicherheit. Sie stellt sicher, dass der Webhook tatsächlich von storekit stammt und nicht manipuliert wurde.

Warum verifizieren?

Da Ihr Webhook-Endpoint öffentlich erreichbar ist, könnte jeder Requests an ihn senden und vorgeben, storekit zu sein. Die Signaturverifizierung verhindert:
  • Gefälschte Requests: Angreifer, die gefälschte Webhooks senden
  • Replay-Angriffe: Alte Webhooks, die böswillig erneut gesendet werden
  • Datenmanipulation: Änderung von Webhook-Payloads während der Übertragung

Svix-Bibliotheken verwenden (empfohlen)

Wir empfehlen die Verwendung der offiziellen Svix-Bibliotheken zur Verifizierung, da sie Ihnen die gesamte Komplexität abnehmen:
Verwenden Sie zur Verifizierung stets den rohen Request-Body. Wenn Sie das JSON zuerst parsen und dann wieder in einen String umwandeln, stimmt die Signatur aufgrund möglicher Formatierungsunterschiede nicht überein.

Manuelle Verifizierung

Wenn Sie Signaturen lieber manuell ohne die Svix-Bibliothek verifizieren möchten, folgen Sie den untenstehenden Schritten.

Signaturheader

Jeder Webhook enthält zur Verifizierung diese Header:

Verifizierungsschritte

1. Header extrahieren

2. Zeitstempel verifizieren (Replay-Angriffe verhindern)

Weisen Sie Webhooks mit Zeitstempeln, die älter als 5 Minuten sind, zurück:

3. Signierten Inhalt erzeugen

Verknüpfen Sie Webhook-ID, Zeitstempel und Body:

4. Erwartete Signatur berechnen

Verwenden Sie HMAC-SHA256 mit Ihrem Webhook-Secret:

5. Signaturen vergleichen