شعار أوراباسي
aurabaseمستندات
مستندات›أدلة›خطافات الويب وHMAC

خطافات الويب الصادرة وتوقيعات HMAC

احصل على الأحداث في الوقت الفعلي من مشروع Aurabase الخاص بك على خوادمك الخاصة بشكل آمن باستخدام توقيعات التشفير HMAC-SHA256.

8 د قراءة·المستوى وسيطة·تمت المراجعة في 19‏/08‏/2026
تم إنشاء هذا النص الإنجليزي تلقائيًا من النص الأصلي الفرنسي ولم تتم مراجعته بعد.
تمت ترجمة هذه الصفحة تلقائيًا. النسخة الإنجليزية موثوقة.
#
العملية

هندسة الويب هوك

تقوم خطافات الويب الصادرة من Aurabase ببث أحداث النظام إلى عناوين URL الخاصة برد الاتصال (مثل تسجيل مستخدم جديد، الدفع الناجح، تحديث صف الجدول).

ضمان التسليم مرة واحدة على الأقل

يحتوي كل خطاف ويب يتم إرساله على معرف حدث فريد event_id مما يسمح لك بتنفيذ معالجة غير فعالة على خوادمك.

#
الأمن

هيكل رأس X-Aurabase-Signature

يتضمن كل طلب HTTP POST صادر عن Aurabase رأس الأمان التالي:

http-headerstext
POST /webhook HTTP/1.1
Host: api.votre-domaine.com
Content-Type: application/json
X-Aurabase-Event-Id: evt_01J8Y6Q9K3M7Z...
X-Aurabase-Signature: t=1724060000,v1=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
#
التحقق من الصحة

تحقق من توقيع HMAC-SHA256

verify-webhook.tstypescript
import crypto from 'node:crypto'
export function verifyAurabaseWebhook(
  rawBody: string, signatureHeader: string, secret: string)
  const parts = Object.fromEntries(
    signatureHeader.split(',').map(p => p.split('=')),
  )
  const { t: timestamp, v1: signature } = parts

  // 1. الحماية ضد هجمات الإعادة (5 دقائق كحد أقصى)
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) {
    return false
  }

  // 2. حساب HMAC-SHA256 على timestamp.rawBody
  const expected = crypto
    .createHmac('sha256', secret)
    .update(timestamp + '.' + rawBody)
    .digest('hex')

  // 3. المقارنة الآمنة في وقت ثابت
  return crypto.timingSafeEqual(
    Buffer.from(signature), Buffer.from(expected)
  )
}
#
المرونة

إدارة الأخطاء وقائمة انتظار الرسائل الميتة

إذا استجاب خادمك برمز خطأ HTTP (4xx، 5xx) أو واجه انتهاء المهلة (حد زمني قدره 10 ثوانٍ)، فإن Aurabase يعيد تلقائيًا محاولة الإرسال وفقًا للتراجع الأسي :

  • المحاولة 1: فورية
  • المحاولة الثانية: بعد 15 ثانية
  • المحاولة 3: بعد دقيقة واحدة
  • المحاولة 4: بعد 5 دقائق
  • المحاولة 5: بعد 30 دقيقة

بعد 5 حالات فشل متتالية، يتم وضع الحدث في قائمة انتظار الرسائل الميتة (DLQ) الخاصة بالاستوديو للفحص وإعادة التشغيل اليدوي.