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 demwebhook_secret berechnen, das Sie bei der Registrierung des Abonnements erhalten haben.
Beispiel (Python)
Beispiel (Node.js)
Best Practices
Signaturen immer überprüfen
Signaturen immer überprüfen
Verarbeiten Sie niemals Webhook-Payloads, ohne vorher die Signatur zu überprüfen. Dies schützt vor gefälschten Anfragen.
Konstantzeitvergleich verwenden
Konstantzeitvergleich verwenden
Verwenden Sie immer
hmac.compare_digest (Python) oder crypto.timingSafeEqual (Node.js), um Timing-Angriffe zu verhindern.Schnell antworten
Schnell antworten
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.Duplikate behandeln
Duplikate behandeln
Webhook-Zustellungen können wiederholt werden. Verwenden Sie
event_type + timestamp + data.uid, um Ereignisse zu deduplizieren.