تحقق من توقيع Webhook وامنع التكرار
كل طلب من اشتراكك موقّع بـHMAC-SHA256 بسر الاشتراك. أعد حساب التوقيع على الجسم الخام، وقارنه بزمن ثابت، وارفض ما هو أقدم من 5 دقائق، وتجاهل التسليم المكرر.
الخطوات
1
اقرأ الترويسة
X-Corteksa-Signature بصيغة t=<ثواني يونكس>,v1=<hex>.2
ارفض الطلب إن كان
t يبعد أكثر من 5 دقائق عن ساعتك.3
احسب
HMAC-SHA256(signing_secret, t + "." + rawBody) بصيغة hex على الجسم الخام كما وصل.4
قارن الناتج بـ
v1 بمقارنة زمن ثابت. إن اختلفا ارفض الطلب.5
خزّن
X-Corteksa-Delivery لكل تسليم عالجته، وتجاهل المكرر مع رد 2xx.6
بعد التحقق فقط حلّل JSON.
كيف يعمل
لا تعِد تسلسل الجسم قبل التحقق. أي تغيير في المسافات أو الترتيب يكسر التوقيع.
التسليم يُعاد عند أي رد غير 2xx أو انتهاء المهلة، فقد يصلك نفس الحدث أكثر من مرة.
إذا حدثت مشكلة
ما تراه
السبب
الحل
التوقيع لا يطابق دائماً
تحسب على جسم أُعيد تسلسله، أو سر خطأ.
استخدم الجسم الخام والسر الصحيح.
نفس الحدث يصل مرتين
إعادة محاولة بعد رد بطيء.
امنع التكرار بـ
X-Corteksa-Delivery.قواعد يجب معرفتها
نافذة الزمن المقترحة 5 دقائق.
السر يظهر مرة واحدة عند إنشاء الاشتراك.
هل حلّ هذا الدليل مشكلتك؟
إن لم يحلها، سنسألك عمّا كان ناقصاً.