Skip to main content

Webhook-Sicherheit

Jede Webhook-Zustellung enthält eine Signatur, die Sie überprüfen sollten, um sicherzustellen, dass die Anfrage von RxScale stammt und nicht manipuliert wurde.

Signaturüberprüfung

Jede Webhook-Anfrage enthält einen Signatur-Header. Überprüfen Sie ihn, indem Sie einen HMAC-SHA256-Hash des Anfragekörpers mit dem webhook_secret berechnen, das Sie bei der Registrierung des Abonnements erhalten haben.

Beispiel (Python)

Beispiel (Node.js)

Best Practices

Verarbeiten Sie niemals Webhook-Payloads, ohne vorher die Signatur zu überprüfen. Dies schützt vor gefälschten Anfragen.
Verwenden Sie immer hmac.compare_digest (Python) oder crypto.timingSafeEqual (Node.js), um Timing-Angriffe zu verhindern.
Sie müssen innerhalb des Zustellungs-Timeouts von 30 Sekunden eine 2xx-Antwort zurücksenden. Eine langsamere Antwort (oder keine Antwort) gilt als fehlgeschlagene Zustellung und wird mit exponentiellem Backoff wiederholt — siehe Wiederholungsrichtlinie.Wir empfehlen dennoch, deutlich schneller zu bestätigen — ein guter Zielwert liegt unter 5 Sekunden —, indem Sie 2xx zurückgeben, sobald Sie die Payload gespeichert haben, und aufwändige Verarbeitung anschließend asynchron durchführen. Die 5 Sekunden sind eine Empfehlung, keine Anforderung; erzwungen wird nur das Timeout von 30 Sekunden.
Webhook-Zustellungen können wiederholt werden. Verwenden Sie event_type + timestamp + data.uid, um Ereignisse zu deduplizieren.