Webhook dan integrasi
Verifikasi tanda tangan webhook
Hitung tanda tangannya atas badan permintaan yang mentah, sebelum penguraian JSON apa pun, lalu bandingkan dalam waktu konstan. Menserialisasi ulang muatannya mengubah byte-nya, dan tanda tangannya takkan pernah cocok lagi.
Langkah
- Tangkap badan mentahnya sebagai byte. Sebagian besar kerangka kerja memberi Anda objek yang sudah terurai secara bawaan, dan itu sudah telat.
- Hitung tanda tangannya atas byte itu persis, dengan rahasia endpoint Anda.
- Bandingkan dengan perbandingan waktu konstan alih-alih kesamaan string.
- Urai JSON-nya hanya setelah tanda tangannya terverifikasi.
- Tolak apa pun yang gagal, dan catat id pengirimannya alih-alih badannya.
Cara memastikan hasilnya
Pengiriman yang asli lolos verifikasi, dan muatan yang sama dengan satu karakter berubah tidak lolos.
Yang biasanya keliru
- Mengurai lalu menserialisasi ulang sebelum menghitung tanda tangan.
- Middleware pengurai badan yang menghabiskan alirannya sebelum handler Anda.
===biasa pada tanda tangan, yang bocor lewat waktu.
Apakah ini menyelesaikan masalah Anda?
Ini tidak membantu
Tulis ke kami dengan platform dan versinya, langkah yang Anda tempuh, hasil yang diharapkan, serta ruang kerja atau kode QR yang terlibat. Samarkan setiap rahasia sebelum melampirkan apa pun.
Tulis ke dukungan