ऑराबेस लोगो
aurabaseडॉक्स
डॉक्स›गाइड›वेबहुक और एचएमएसी

आउटगोइंग वेबहुक और एचएमएसी हस्ताक्षर

HMAC-SHA256 क्रिप्टोग्राफ़िक हस्ताक्षरों का उपयोग करके अपने ऑराबेस प्रोजेक्ट से वास्तविक समय की घटनाओं को अपने सर्वर पर सुरक्षित रूप से प्राप्त करें।

8 मि॰ पढ़ें·स्तर मध्यवर्ती·19 अग॰ 2026 पर संशोधित
यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.
#
संचालन

वेबहुक वास्तुकला

ऑराबेस आउटगोइंग वेबहुक सिस्टम इवेंट को आपके कॉलबैक यूआरएल पर प्रसारित करता है (उदाहरण के लिए नया उपयोगकर्ता पंजीकरण, सफल भुगतान, तालिका पंक्ति अपडेट)।

कम से कम एक बार डिलीवरी की गारंटी

भेजे गए प्रत्येक वेबहुक में एक अद्वितीय ईवेंट पहचानकर्ता event_id होता है जो आपको अपने सर्वर पर इडेम्पोटेंट प्रोसेसिंग लागू करने की अनुमति देता है।

#
सुरक्षा

एक्स-ऑराबेस-सिग्नेचर हेडर की संरचना

ऑराबेस द्वारा जारी प्रत्येक HTTP POST अनुरोध में निम्नलिखित सुरक्षा शीर्षलेख शामिल हैं:

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 की गणना
  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: तत्काल
  • प्रयास 2: 15 सेकंड के बाद
  • प्रयास 3: 1 मिनट के बाद
  • प्रयास 4: 5 मिनट के बाद
  • प्रयास 5: 30 मिनट के बाद

लगातार 5 विफलताओं के बाद, इवेंट को निरीक्षण और मैन्युअल रीप्ले के लिए स्टूडियो के डेड-लेटर क्यू (DLQ) में रखा गया है।