KinexaSupport

Memverifikasi Signature Webhook

Memverifikasi Signature Webhook

Kinexa menandatangani setiap webhook agar Anda bisa mempercayai bahwa payload benar-benar dari kami.

Header Signature

Setiap permintaan webhook menyertakan:

X-Kinexa-Signature: t=1717689600,v1=5257a8...

Cara Verifikasi

  1. Ambil webhook signing secret dari Pengaturan → Developer → Webhook
  2. Bentuk payload yang ditandatangani: {timestamp}.{raw_body}
  3. Hitung HMAC-SHA256 dengan secret Anda
  4. Bandingkan dengan nilai v1 menggunakan perbandingan waktu konstan

Contoh (Node.js)

import crypto from "crypto";

function verify(rawBody, header, secret) {
  const [t, sig] = header.split(",").map(p => p.split("=")[1]);
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${t}.${rawBody}`)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected), Buffer.from(sig));
}

Tolak Event Basi

Tolak permintaan yang timestamp-nya lebih lama dari ~5 menit untuk mencegah serangan replay.

Selalu Balas 200 dengan Cepat

Konfirmasi cepat dengan HTTP 200, lalu proses secara asinkron. Kinexa mencoba ulang pengiriman yang gagal dengan backoff.

Apakah artikel ini membantu?

Butuh bantuan lebih lanjut? Hubungi tim support kami