تكامل إشعارات الويب

تحقق من صحة كل نداء راجع باستخدام HMAC SHA-256، وارفض الطوابع الزمنية القديمة، وصمّم مستهلكات آمنة للتكرار.

الرؤوس

رأسوصف
توقيع X-Webhookملخص HMAC SHA-256 (ست عشري)
X-Webhook-الطابع الزمنيالطابع الزمني لنظام Unix المستخدم في السلسلة الأساسية للتوقيع
معرف طلب Xمعرف ارتباط الطلب الفريد

مثال للتحقق من التوقيع (PHP)

$payload = file_get_contents('php://input');
$timestamp = $_SERVER['HTTP_X_WEBHOOK_TIMESTAMP'] ?? '';
$provided = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $timestamp.'.'.$payload, $secret);

if (! hash_equals($expected, $provided)) {
    http_response_code(401);
    exit('invalid signature');
}

قواعد التسليم

  1. قم بالرد باستخدام HTTP 2xx بسرعة بعد التحقق من صحة التوقيع والطابع الزمني.
  2. قم بمعالجة الحدث بشكل غير متزامن في عامل التطبيق الخاص بك.
  3. احفظ معرّفات الأحداث للحماية من إعادة محاولات النداءات الراجعة المكررة.