Node.js और Express में पहचान वेबहुक प्राप्त करें और सत्यापित करें। अपने Node.js एप्लिकेशन में मिनटों में विज़िटर पहचान, बॉट डिटेक्शन और smart signals जोड़ें।
अपने पसंदीदा पैकेज मैनेजर के साथ अपने प्रोजेक्ट में SDK जोड़ें।
npm install expressyarn add expresspnpm add expressन्यूनतम सेटअप के साथ चालू और तैयार हो जाएँ।
import express from 'express'const app = express()// Capture the raw body so the signature can be verified byte-for-byte.app.use(express.json({ verify: (req, _res, buf) => ((req as any).rawBody = buf) }))// Identification events are pushed here in real timeapp.post('/webhook/tracio', (req, res) => { const event = req.body console.log(event.visitorId, event.bot.result) res.status(200).send('OK')})app.listen(3000)एरर हैंडलिंग, लोडिंग स्थितियों और उन्नत कॉन्फ़िगरेशन के साथ प्रोडक्शन-तैयार पैटर्न।
import express from 'express'import crypto from 'crypto'const app = express()app.use(express.json({ verify: (req, _res, buf) => ((req as any).rawBody = buf) }))// Recompute the HMAC-SHA256 over "<t>.<rawBody>" and compare it.function verify(rawBody: Buffer, header: string, secret: string): boolean { const p = Object.fromEntries(header.split(',').map((kv) => kv.split('=') as [string, string])) const signed = Buffer.concat([Buffer.from(`${p.t}.`), rawBody]) const expected = crypto.createHmac('sha256', secret).update(signed).digest('hex') const a = Buffer.from(p.v1, 'hex') const b = Buffer.from(expected, 'hex') return a.length === b.length && crypto.timingSafeEqual(a, b)}app.post('/webhook/tracio', (req, res) => { const sig = req.headers['x-tracio-signature'] as string if (!verify((req as any).rawBody, sig, process.env.TRACIO_WEBHOOK_SECRET!)) { return res.status(401).json({ error: 'Invalid signature' }) } const event = req.body if (event.bot.result === 'bot') { return res.status(200).json({ action: 'blocked', visitorId: event.visitorId }) } if (event.decision.riskScore > 50) { return res.status(200).json({ action: 'review', visitorId: event.visitorId }) } res.status(200).json({ action: 'allow', visitorId: event.visitorId })})app.listen(3000)SDK को आरंभ और कॉन्फ़िगर करने के लिए सभी उपलब्ध विकल्प।
publicKeystringडैशबोर्ड से आपकी पब्लिक की — ब्राउज़र में भेजना सुरक्षितendpointstringप्रॉक्सी-रूटेड डिप्लॉयमेंट के लिए कस्टम एंडपॉइंट URL — स्पष्ट URL region पर भारी पड़ता हैregionstringडेटा रीजन: us या eutimeoutMsnumberपूरी getResult() कॉल के लिए टाइमआउट, मिलीसेकंड मेंlinkedIdstringसाइन-इन यूज़र के लिए आपका आंतरिक अकाउंट ID, ताकि एक ही डिवाइस साझा करने वाली विज़िट्स जोड़ी जा सकेंtagstringपहचान अनुरोध के साथ जुड़ा मुक्त-रूप लेबल, जैसे checkout या logindebugbooleanस्क्रिप्ट लाइफ़साइकल और नेटवर्क गतिविधि को ब्राउज़र कंसोल में लॉग करता हैscriptUrlstringएजेंट स्क्रिप्ट URL का पूरा ओवरराइड — सेल्फ-होस्टिंग या Subresource Integrity के लिएपूर्ण API संदर्भ, webhook कॉन्फ़िगरेशन और उन्नत गाइड के साथ गहराई में जाएँ।
पूर्ण API संदर्भ, इंटीग्रेशन गाइड और सर्वोत्तम अभ्यास।
रीयल-टाइम इवेंट डिलीवरी, पेलोड स्कीमा और सिग्नेचर सत्यापन।
हर डिवाइस पहचान के लिए रीयल-टाइम इवेंट सूचनाएँ कॉन्फ़िगर करें।
अपने Node.js एप्लिकेशन में 5 मिनट से भी कम समय में Device Fingerprinting जोड़ें।