svix-id: المعرّف الفريد لرسالة Webhook. يكون فريدًا بين الرسائل، لكنه يظل نفسه عند إعادة إرسال الرسالة ذاتها، مثل إعادة الإرسال بعد فشل سابق.svix-timestamp: الطابع الزمني بالثواني منذ Epoch.svix-signature: قائمة توقيعات مشفّرة بصيغة Base64 ومفصولة بمسافات.
1. استخدام مكتبة Svix
ثبّت أولًا مكتبة Svix للغة التي تستخدمها، ثم استخدم الكود التالي للتحقق من الطلب، والمثال هنا بلغة JavaScript:payload هي نص جسم الطلب الخام، وأن تكون الترويسات هي نفسها المرسلة مع الطلب.
2. التحقق من التوقيع يدويًا
إنشاء المحتوى الموقّع
أنشئ المحتوى الموقّع بضم المعرّف والطابع الزمني والحمولة، مع الفصل بينها بنقطة (.):
تحديد التوقيع المتوقع
يستخدم RNTOR خوارزمية HMAC مع SHA-256 لتوقيع Webhooks. احسب التوقيع المتوقع باستخدامsignedContent والجزء المشفّر بصيغة Base64 من سر التوقيع، أي الجزء الذي يلي whsec_.
على سبيل المثال، عند استخدام السر whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw، استخدم MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw كمفتاح.
svix-signature. تحتوي الترويسة على قائمة توقيعات مفصولة بمسافات مع معرّفات إصداراتها. غالبًا تحتوي القائمة على توقيع واحد، لكنها قد تحتوي على أي عدد من التوقيعات.