Cara Sentry mengirim webhook

Sentry menandatangani raw body dengan HMAC-SHA256 tanpa stempel waktu di payload yang ditandatangani. Format terverifikasi dan verifier Node.

Perilaku pengiriman

Diambil dari dokumentasi resmi vendor, terakhir diperiksa 2026-08-06. Jika vendor tidak menyebut angka, tabel ini juga tidak mencantumkannya.

Batas waktu responstidak dipublikasikan vendor
Percobaan ulangtidak dipublikasikan vendor
Berhenti mencobatidak dipublikasikan vendor

Tanda tangan

Diverifikasi dengan verifier yang berfungsi dan dibuktikan oleh test suite, bukan dibaca dari dokumentasi. Terakhir diverifikasi 2026-08-20.

AlgoritmaHMAC-SHA256
Payload bertanda tanganraw body, no timestamp
Encodinghex
Headersentry-hook-signature
Toleransitidak diberlakukan

Verifikasi

Raw body dari permintaan, byte demi byte, sebelum parsing JSON apa pun. Setiap skema di halaman ini rusak begitu framework melakukan serialisasi ulang pada payload.

const crypto = require("node:crypto");

// hex(HMAC-SHA256(client secret, raw body)) — no timestamp anywhere
const expected = crypto
  .createHmac("sha256", clientSecret) // Settings → Developer Settings
  .update(rawBody)
  .digest("hex");
const received = Buffer.from(req.headers["sentry-hook-signature"] ?? "");
const wanted = Buffer.from(expected);
// timingSafeEqual throws on a length mismatch, so check that first.
const valid =
  received.length === wanted.length && crypto.timingSafeEqual(received, wanted);

Yang sering menjebak

Tidak ada bagian payload yang ditandatangani yang kedaluwarsa: tanpa stempel waktu, permintaan yang disadap tetap lolos verifikasi sebulan kemudian, sama mulusnya seperti saat pertama dikirim. Idempotensi di sisi Anda adalah satu-satunya penghalang antara rekaman yang di-replay dan efek samping yang berjalan lagi.

Baca juga

AnyHook berada di depan endpoint yang menerima webhook dari Sentry: AnyHook menjawab dalam sekitar satu detik, mencoba ulang sesuai jadwalnya sendiri saat server Anda mati, dan menyimpan setiap event agar dapat diputar ulang (replay). Ganti satu URL, kode Anda tetap.

Cara kerjanya →