Créer des auditeurs de webhooks Didit avec AWS Lambda et API Gateway (FR)
Apprenez à créer des auditeurs de webhooks Didit robustes et évolutifs en utilisant TypeScript, AWS Lambda et API Gateway (Serverless Framework).

Intégration sécurisée des webhooksLa mise en œuvre d'une vérification robuste des signatures de webhook à l'aide de la clé secrète partagée de Didit est cruciale pour garantir l'intégrité et l'authenticité des données entrantes de la plateforme de Didit, protégeant ainsi contre l'usurpation d'identité et la falsification.
Architecture "serverless" évolutiveL'exploitation d'AWS Lambda et d'API Gateway avec le Serverless Framework offre une solution hautement évolutive et rentable pour la gestion des événements webhook de Didit, s'adaptant automatiquement aux charges variables sans intervention manuelle.
Flux de travail d'identité en temps réelLe traitement des webhooks Didit en temps réel permet des réponses immédiates aux résultats de vérification d'identité, facilitant l'intégration dynamique des utilisateurs, la détection des fraudes et les actions de conformité, améliorant ainsi l'efficacité opérationnelle.
L'approche "développeur d'abord" de DiditDidit simplifie la gestion des webhooks avec une documentation API claire, une rotation facile des clés secrètes et une architecture modulaire, permettant aux développeurs de créer et de déployer rapidement des flux de travail événementiels personnalisés avec KYC Core gratuit et sans frais d'installation.
La puissance des webhooks dans la vérification d'identité
Dans le monde de la vérification d'identité, le feedback en temps réel est primordial. Que vous intégriez de nouveaux utilisateurs, effectuiez un screening AML ou vérifiiez l'âge, connaître le résultat d'une session de vérification au moment où elle se produit permet une prise de décision dynamique et des expériences utilisateur fluides. C'est là que les webhooks brillent. Au lieu d'interroger constamment une API pour les mises à jour de statut, Didit envoie une notification automatisée à votre point de terminaison spécifié chaque fois qu'un événement significatif se produit, comme la fin d'une session de vérification ou un changement de statut. Ce modèle basé sur la poussée est plus efficace, réduit la surcharge des appels API et garantit que vos systèmes sont toujours à jour avec les derniers résultats de vérification d'identité.
L'intégration des puissantes capacités de vérification d'identité de Didit implique souvent la mise en place d'un auditeur de webhook fiable. Cet auditeur agit comme les yeux et les oreilles de votre application, recevant des mises à jour critiques sur le statut de la vérification d'identité, la détection de la vivacité ou les résultats du screening AML. Un système de webhook bien implémenté est une pierre angulaire des architectures modernes axées sur les événements, offrant l'agilité nécessaire pour répondre rapidement aux résultats de vérification et maintenir un parcours utilisateur fluide.
Mise en place de votre auditeur de webhook "serverless" avec AWS Lambda et API Gateway
La création d'un auditeur de webhook évolutif et résilient peut être complexe, mais avec AWS Lambda et API Gateway, couplés au Serverless Framework, cela devient remarquablement simple. Cette approche "serverless" signifie que vous n'avez pas à gérer de serveurs ; AWS gère toute l'infrastructure, adaptant votre auditeur automatiquement en fonction de la demande. Pour notre auditeur de webhook Didit, nous utiliserons TypeScript pour la sécurité de type et la productivité des développeurs.
Prérequis:
- Un compte AWS
- Node.js et npm installés
- Serverless Framework installé (
npm install -g serverless) - Un compte Didit avec des clés API et un secret de webhook (depuis la Console Didit -> Paramètres -> Clés API)
Configuration du projet:
Tout d'abord, créez un nouveau projet Serverless :
serverless create --template aws-nodejs-typescript --path didit-webhook-listener
cd didit-webhook-listener
npm install
Maintenant, configurons serverless.yml pour définir notre fonction Lambda et notre point de terminaison API Gateway :
service: didit-webhook-listener
provider:
name: aws
runtime: nodejs18.x
stage: dev
region: us-east-1
environment:
DIDIT_WEBHOOK_SECRET: ${ssm:/didit/webhook/secret}
functions:
handleDiditWebhook:
handler: src/handler.handleDiditWebhook
events:
- http:
path: webhook/didit
method: post
cors: true
plugins:
- serverless-offline
- serverless-dotenv-plugin
- serverless-ssm-fetch
Notez que nous récupérons le DIDIT_WEBHOOK_SECRET depuis AWS SSM Parameter Store, ce qui est une bonne pratique pour gérer les secrets. Vous devrez y stocker votre secret de webhook Didit. Didit vous permet de faire pivoter facilement votre clé secrète via l'API ou la console Didit, garantissant une bonne hygiène de sécurité.
Implémentation du traitement sécurisé des webhooks en TypeScript
L'aspect le plus critique de tout auditeur de webhook est la sécurité. Vous devez vérifier que les requêtes entrantes proviennent réellement de Didit et n'ont pas été altérées. Didit fournit une clé secrète partagée à cette fin, que vous utilisez pour valider la signature HMAC incluse dans l'en-tête x-didit-signature du webhook.
Créez src/handler.ts:
import { APIGatewayProxyHandler } from 'aws-lambda';
import * as crypto from 'crypto';
const DIDIT_WEBHOOK_SECRET = process.env.DIDIT_WEBHOOK_SECRET || '';
export const handleDiditWebhook: APIGatewayProxyHandler = async (event) => {
if (!event.body) {
return { statusCode: 400, body: 'No body received' };
}
const signature = event.headers['x-didit-signature'];
if (!signature) {
console.warn('Webhook received without x-didit-signature header.');
return { statusCode: 403, body: 'Missing signature' };
}
try {
const expectedSignature = crypto
.createHmac('sha256', DIDIT_WEBHOOK_SECRET)
.update(event.body)
.digest('hex');
if (expectedSignature !== signature) {
console.error('Webhook signature mismatch. Expected:', expectedSignature, 'Received:', signature);
return { statusCode: 403, body: 'Invalid signature' };
}
const payload = JSON.parse(event.body);
console.log('Successfully verified and parsed Didit webhook:', payload);
// Implementez votre logique métier ici en fonction de la charge utile du webhook
// Exemples : mettre à jour le statut de l'utilisateur, déclencher d'autres actions, stocker les résultats
// Par exemple, s'il s'agit d'une complétion de vérification d'identité :
// if (payload.event_type === 'session.completed' && payload.data.workflow_type === 'kyc') {
// console.log('Session KYC terminée pour vendor_data:', payload.data.vendor_data);
// // Traitez les résultats KYC, mettez à jour le profil utilisateur, etc.
// }
return { statusCode: 200, body: 'Webhook reçu et traité' };
} catch (error) {
console.error('Erreur lors du traitement du webhook:', error);
return { statusCode: 500, body: 'Erreur interne du serveur' };
}
};
Dans ce code, nous calculons un hachage HMAC SHA256 du corps de la requête brute en utilisant votre DIDIT_WEBHOOK_SECRET et le comparons à l'en-tête x-didit-signature fourni par Didit. S'ils ne correspondent pas, la requête est rejetée, empêchant l'accès non autorisé ou les événements usurpés. Ce processus de vérification robuste est essentiel pour maintenir la sécurité et l'intégrité de vos flux de travail de vérification d'identité, en particulier lorsque vous traitez des données sensibles provenant des services de vérification d'identité, de correspondance faciale ou de screening AML de Didit.
Configuration de Didit pour l'envoi de webhooks
Une fois votre fonction Lambda déployée et que vous disposez d'une URL de point de terminaison API Gateway, la dernière étape consiste à indiquer à Didit où envoyer ses webhooks. Cela peut être fait facilement via l'API de gestion Didit ou via la console Didit Business.
Via l'API de gestion Didit:
Vous pouvez mettre à jour programmatiquement votre configuration de webhook en utilisant le point de terminaison PATCH /v3/webhook/. Cela vous permet de définir votre webhook_url, de spécifier une webhook_version (v3 est recommandée) et même de faire pivoter votre secret_shared_key en toute sécurité.
curl -X PATCH https://verification.didit.me/v3/webhook/ \
-H "Content-Type: application/json" \
-H "x-api-key: VOTRE_CLE_API_DIDIT" \
-d '{
"webhook_url": "VOTRE_POINT_DE_TERMINAISON_API_GATEWAY",
"webhook_version": "v3"
}'
Remplacez VOTRE_CLE_API_DIDIT par votre véritable clé API Didit et VOTRE_POINT_DE_TERMINAISON_API_GATEWAY par l'URL fournie par AWS API Gateway après le déploiement de votre fonction Serverless.
Via la console Didit Business:
Alternativement, naviguez vers la Console Didit, allez dans Paramètres -> Webhooks, et collez simplement l'URL de votre point de terminaison API Gateway dans le champ désigné. Vous pouvez également consulter et faire pivoter votre clé secrète de webhook ici. La conception modulaire de Didit garantit que la configuration de ces intégrations vitales est simple, vous permettant de vous concentrer sur la création de votre application principale.
Comment Didit aide
Didit fournit une plateforme d'identité native de l'IA et axée sur les développeurs qui rend l'intégration de la vérification d'identité avancée simple et sécurisée. Notre architecture modulaire vous permet de choisir les composants exacts dont vous avez besoin, de la vérification d'identité (OCR, MRZ, codes-barres) et de la détection de la vivacité passive et active à la correspondance faciale 1:1, au dépistage et à la surveillance AML, et à l'estimation de l'âge. En offrant le KYC Core gratuit et sans frais d'installation, Didit permet aux entreprises de toutes tailles de mettre en œuvre des solutions d'identité robustes sans coûts prohibitifs.
Notre documentation API complète et notre environnement sandbox instantané garantissent que les développeurs peuvent rapidement démarrer, et notre système de webhook, comme démontré, est conçu pour la fiabilité et la sécurité. Avec Didit, vous avez accès à un réseau de vérification mondial, à des flux de travail orchestrés et à des données d'identité structurées, le tout fourni via des API propres. Cela signifie que vous pouvez créer en toute confiance des auditeurs de webhook personnalisés qui s'intègrent de manière transparente au puissant backend de Didit, garantissant des mises à jour en temps réel pour tous vos besoins de vérification d'identité.
Prêt à commencer?
Prêt à voir Didit en action ? Obtenez une démo gratuite dès aujourd'hui.
Commencez à vérifier les identités gratuitement avec le niveau gratuit de Didit.