Assegurant Webhooks amb Cloudflare Workers: Guia Didit (CA)
Aprèn a construir un endpoint de webhook robust i segur per a la verificació d'identitat amb Didit utilitzant Cloudflare Workers. Aquesta guia cobreix la verificació de la signatura HMAC, la validació de la marca de temps i les.

Seguretat Millorada amb Cloudflare WorkersCloudflare Workers proporcionen un entorn sense servidor ideal per processar webhooks de manera segura, oferint protecció a nivell d'edge i una verificació de signatura eficient.
La Verificació de la Signatura HMAC és CrucialVerifiqueu sempre la signatura HMAC-SHA256 dels webhooks entrants per garantir-ne l'autenticitat i la integritat, evitant la injecció o la manipulació de dades no autoritzades.
La Validació de la Marca de Temps Mitiga els Atacs de ReproduccióImplementeu comprovacions de la marca de temps per assegurar que les sol·licituds de webhook són recents, protegint-vos contra atacs de reproducció on sol·licituds antigues i legítimes són reenviades per actors maliciosos.
Didit Simplifica la Verificació Segura d'IdentitatLa plataforma nativa d'IA de Didit proporciona notificacions de webhook robustes i en temps real per a tots els productes de verificació d'identitat, garantint un lliurament de dades segur i fiable per a les vostres aplicacions.
En el paisatge digital interconnectat actual, els webhooks són la pedra angular de la comunicació en temps real entre serveis. Permeten notificacions instantànies per a esdeveniments com els resultats de la verificació d'identitat, les confirmacions de pagament i l'activitat de l'usuari. No obstant això, la comoditat dels webhooks comporta un repte de seguretat crític: garantir l'autenticitat i la integritat de les dades rebudes. Sense les salvaguardes adequades, la vostra aplicació podria ser vulnerable a la suplantació, la manipulació o els atacs de reproducció.
Aquesta guia us guiarà per construir un endpoint de webhook segur per a la verificació d'identitat de Didit utilitzant Cloudflare Workers. Cloudflare Workers ofereixen una plataforma potent i sense servidor a l'edge, ideal per processar i assegurar webhooks amb una latència mínima i una fiabilitat màxima. Didit, com a plataforma d'identitat nativa d'IA, es basa en webhooks segurs per oferir notificacions KYC en temps real, cosa que fa que aquesta integració sigui crucial per a qualsevol negoci que aprofiti les robustes solucions de verificació d'identitat de Didit.
Per què assegurar els vostres Webhooks?
Imagineu rebre una notificació de webhook que afirma falsament que un usuari ha passat la verificació d'identitat, quan en realitat, va fallar. O potser un actor maliciós reprodueix un webhook antic i legítim per desencadenar una acció al vostre sistema diverses vegades. Aquests escenaris posen de manifest la necessitat crítica de la seguretat dels webhooks.
Les principals amenaces als endpoints de webhook inclouen:
- Suplantació (Spoofing): Un atacant envia un webhook fals, fent-se passar per Didit, per enganyar el vostre sistema perquè realitzi accions no autoritzades.
- Manipulació (Tampering): Un atacant intercepta un webhook legítim i modifica la seva càrrega útil abans que arribi al vostre servidor.
- Atacs de reproducció (Replay Attacks): Un atacant captura un webhook legítim i el reenvia més tard per desencadenar la mateixa acció de nou, cosa que pot provocar transaccions duplicades o altres problemes.
Assegurar els vostres webhooks implica verificar la identitat del remitent i assegurar-vos que les dades no s'han alterat. Didit proporciona un mecanisme robust per a això mitjançant signatures HMAC-SHA256 i validació de la marca de temps, que implementarem al nostre Cloudflare Worker.
Configuració del vostre Secret de Webhook de Didit
Abans de poder verificar els webhooks de Didit, necessiteu la vostra Clau Secreta de Webhook única. Aquesta clau és fonamental per a la verificació de la signatura criptogràfica. Aquí teniu com recuperar-la:
- Inicieu sessió a la vostra Consola Didit.
- Navegueu a Configuració → Claus API.
- Copieu la vostra Clau Secreta de Webhook.
Aquesta clau secreta s'ha d'emmagatzemar de manera segura i no s'ha d'exposar mai públicament. Per a Cloudflare Workers, és millor emmagatzemar-la com un secret de Worker o una variable d'entorn.
Construcció d'un Cloudflare Worker Segur per a Webhooks de Didit
Cloudflare Workers són aplicacions JavaScript, TypeScript o WebAssembly que s'executen a la xarxa global de Cloudflare, prop dels vostres usuaris. Això els fa increïblement ràpids i escalables per gestionar les sol·licituds de webhook entrants. Aquí teniu una guia pas a pas per crear un Worker que processi els webhooks de Didit de manera segura.
1. Creeu el vostre Cloudflare Worker
Primer, configureu un nou projecte de Cloudflare Worker. Podeu fer-ho utilitzant l'eina CLI wrangler:
npx wrangler generate didit-webhook-handler
cd didit-webhook-handler
2. Afegiu el vostre Secret de Webhook de Didit com a Secret de Cloudflare
Per mantenir el vostre secret de webhook segur, afegiu-lo com a secret al vostre Worker:
npx wrangler secret put DIDIT_WEBHOOK_SECRET
Quan se us demani, enganxeu la vostra Clau Secreta de Webhook des de la Consola Didit.
3. Implementeu la Lògica de Webhook a index.js
El fitxer index.js del vostre Worker contindrà la lògica per rebre, validar i processar els webhooks de Didit. Els passos principals són:
- Llegiu el cos de la sol·licitud en brut: La signatura HMAC es genera a partir del cos de la sol·licitud en brut, per la qual cosa és crucial no analitzar-lo abans de la verificació.
- Verifiqueu la signatura HMAC-SHA256: Compareu la signatura proporcionada a la capçalera
X-Signatureamb una signatura que genereu utilitzant el vostreDIDIT_WEBHOOK_SECRETi el cos de la sol·licitud en brut. - Valideu la marca de temps: Comproveu la capçalera
X-Timestampper assegurar-vos que la sol·licitud és recent (per exemple, dins de 5 minuts) per evitar atacs de reproducció. - Analitzeu JSON i processament: Si la verificació passa, analitzeu el cos JSON i gestioneu el resultat de la verificació d'identitat.
Aquí teniu un exemple bàsic del codi del Worker:
import { createHmac } from 'crypto'; // Cloudflare Workers provide 'crypto' module
export default {
async fetch(request, env, ctx) {
if (request.method !== 'POST') {
return new Response('Method Not Allowed', { status: 405 });
}
const diditWebhookSecret = env.DIDIT_WEBHOOK_SECRET;
if (!diditWebhookSecret) {
return new Response('Webhook secret not configured', { status: 500 });
}
const signature = request.headers.get('X-Signature');
const timestamp = request.headers.get('X-Timestamp');
const rawBody = await request.text();
if (!signature || !timestamp || !rawBody) {
return new Response('Missing required webhook headers or body', { status: 400 });
}
// 1. Validate Timestamp (e.g., within 5 minutes)
const FIVE_MINUTES_IN_SECONDS = 300;
const currentTimestamp = Math.floor(Date.now() / 1000);
if (Math.abs(currentTimestamp - parseInt(timestamp, 10)) > FIVE_MINUTES_IN_SECONDS) {
return new Response('Webhook timestamp too old or in the future', { status: 403 });
}
// 2. Verify HMAC-SHA256 Signature
const expectedSignature = createHmac('sha256', diditWebhookSecret)
.update(`${timestamp}.${rawBody}`)
.digest('hex');
if (expectedSignature !== signature) {
return new Response('Invalid webhook signature', { status: 403 });
}
// 3. Process the webhook payload
try {
const payload = JSON.parse(rawBody);
// Log or process the payload, e.g., update user status in your database
console.log('Received Didit webhook:', payload);
// Example: Accessing verification status
if (payload.event === 'session.completed' && payload.data.status === 'approved') {
console.log(`User ${payload.data.vendor_data} successfully verified.`);
// Trigger further actions like granting access or updating user profile
}
// Didit offers various products like ID Verification, Passive & Active Liveness, and AML Screening.
// The webhook payload will reflect results from these checks.
return new Response('Webhook processed successfully', { status: 200 });
} catch (error) {
console.error('Error parsing webhook body:', error);
return new Response('Error parsing JSON payload', { status: 400 });
}
},
};
4. Desplegueu el vostre Worker
Un cop el vostre codi estigui llest, desplegueu-lo a Cloudflare:
npx wrangler deploy
Després del desplegament, Cloudflare us proporcionarà una URL per al vostre Worker. Aquest és l'endpoint que configurareu a la vostra Consola Didit per rebre webhooks.
Configuració de Didit per enviar Webhooks
Amb el vostre Cloudflare Worker segur desplegat, el pas final és dir-li a Didit on enviar les vostres notificacions en temps real:
- Torneu a la vostra Consola Didit.
- Navegueu a Fluxos de treball i seleccioneu el flux de treball que voleu configurar (per exemple, el vostre flux de treball KYC que utilitza la verificació d'identitat de Didit i la vitalitat passiva i activa).
- A la configuració del flux de treball, trobeu la configuració de l'URL del Webhook.
- Introduïu l'URL del vostre Cloudflare Worker desplegat.
- Deseu els vostres canvis.
Ara, cada vegada que es completi una sessió de verificació d'identitat o canviï el seu estat, Didit enviarà una notificació de webhook segura al vostre Cloudflare Worker, que la validarà i la processarà.
Com ajuda Didit
Didit està dissenyat amb la seguretat i l'experiència del desenvolupador al seu nucli. La nostra plataforma d'identitat nativa d'IA proporciona una arquitectura modular que us permet compondre fluxos de treball de verificació complexos amb facilitat. Pel que fa als webhooks, Didit simplifica el procés mitjançant:
- Proporcionant notificacions de webhook segures: Tots els webhooks de Didit estan signats amb una signatura HMAC-SHA256 i inclouen una marca de temps, garantint l'autenticitat i la integritat de les dades que rebeu. Això és crucial per a productes com la verificació d'identitat, la concordança facial 1:1 i la detecció de blanqueig de capitals (AML), on la precisió de les dades és primordial.
- Actualitzacions en temps real: Obteniu notificacions instantànies per a cada etapa del procés de verificació, permetent que la vostra aplicació reaccioni immediatament als resultats de la verificació de l'usuari.
- Dades completes: Les càrregues útils dels webhooks inclouen tots els detalls necessaris sobre la sessió de verificació, inclosos els resultats de diversos productes de Didit, com ara la vitalitat passiva i activa, la verificació de telèfon i correu electrònic i la prova d'adreça.
- Enfocament centrat en el desenvolupador: Didit ofereix un sandbox instantani, documentació pública clara i API netes, cosa que facilita la integració. El nostre nivell KYC bàsic gratuït i el model de pagament per comprovació reeixida, sense tarifes d'instal·lació, faciliten l'inici i l'escalabilitat.
En integrar els webhooks de Didit amb un Cloudflare Worker segur, establiu un canal resilient i fiable per a les actualitzacions de verificació d'identitat en temps real, protegint el vostre negoci i els vostres usuaris.
Llestos per començar?
Llestos per veure Didit en acció? Obteniu una demostració gratuïta avui mateix.
Comenceu a verificar identitats de forma gratuïta amb el nivell gratuït de Didit.