الرئيسية / الأدلة / التحقق من توقيع الويب هوكس وواجهات API — دليل HMAC العملي

الويب هوك طريقة ترسل بها خدمة خارجية الأحداث إلى خادمك. لكن بما أن أي أحد يستطيع إرسال طلب إلى ذلك الرابط، يجب التأكد من أن الطلب المتلقَّى صادر فعلًا من تلك الخدمة. والطريقة المعيارية لذلك هي توقيع HMAC.

يتشارك الطرفان المرسِل والمستقبِل مفتاحًا سريًا. يقوم المرسِل بتجزئة متن الطلب بالمفتاح عبر HMAC-SHA256 ويضع التوقيع في ترويسة ثم يرسله. ويقوم المستقبِل بتجزئة المتن نفسه بالمفتاح نفسه ويقارن ما إذا كان التوقيعان متطابقين.

عند التطابق يُضمَن أمران في آنٍ واحد. فبما أن من يملك المفتاح وحده يستطيع إنشاء التوقيع الصحيح تتأكد الأصالة، وبما أن أي تغيير طفيف في المتن يغيّر التوقيع تتأكد السلامة. ومعظم الويب هوكس مثل GitHub·Stripe·Slack تستخدم هذه الطريقة.

يمكنك التحقق مباشرة في AG HASH. فعّل خيار HMAC وأدخل المفتاح المشترك ثم الصق متن الطلب لتظهر قيمة HMAC-SHA256. قارنها بالتوقيع في ترويسة الطلب. وفي التحقق الفعلي يُوصى باستخدام مقارنة زمن ثابت لتفادي هجمات التوقيت.

جزّئ بهذه الخوارزمية