Middleware FastAPI pour la notation des risques d'identité en temps réel avec Didit (FR)
Mettez en œuvre une notation robuste et en temps réel des risques d'identité dans vos applications FastAPI grâce aux webhooks de Didit. Ce guide couvre la configuration d'une gestion sécurisée des webhooks, la vérification des.

La notation des risques en temps réel est essentielleLes applications modernes exigent une évaluation immédiate des risques d'identité pour lutter efficacement contre la fraude et assurer la conformité.
La gestion sécurisée des webhooks est primordialeLa mise en œuvre d'une vérification robuste des signatures et des contrôles d'horodatage pour les webhooks entrants prévient les manipulations et les attaques par relecture, ce qui est crucial pour maintenir l'intégrité des données.
Le middleware FastAPI simplifie l'intégrationL'exploitation des capacités de middleware de FastAPI permet un traitement centralisé et efficace des événements de webhook asynchrones, s'intégrant de manière transparente au flux de votre application.
Didit alimente l'orchestration intelligente des identitésDidit fournit l'infrastructure de vérification d'identité et de webhook nativement basée sur l'IA, offrant des notifications en temps réel et des signaux de risque complets pour éclairer les décisions de sécurité de votre application.
Dans le paysage numérique actuel, la rapidité et la précision de la vérification d'identité ont un impact direct sur la posture de sécurité et l'expérience utilisateur d'une application. À mesure que les entreprises se développent, la nécessité d'une notation des risques en temps réel devient primordiale, permettant une action immédiate contre les activités frauduleuses et garantissant la conformité aux normes réglementaires. L'intégration d'une plateforme de vérification d'identité avancée comme Didit avec votre backend, en particulier en utilisant un framework moderne comme FastAPI, peut considérablement renforcer vos défenses.
Cet article de blog vous guidera dans la création d'un middleware FastAPI robuste pour traiter les webhooks de Didit pour la notation des risques d'identité en temps réel. Nous aborderons la réception sécurisée des webhooks, la vérification des signatures et la manière d'intégrer ces signaux de risque critiques dans la logique de votre application.
La puissance des webhooks pour les signaux d'identité en temps réel
Les webhooks sont la pierre angulaire de la communication asynchrone moderne, permettant aux services d'envoyer des notifications en temps réel à d'autres applications lorsque des événements spécifiques se produisent. Pour la vérification d'identité, cela signifie que dès qu'un utilisateur termine une étape de vérification, ou qu'une évaluation des risques est finalisée, Didit peut immédiatement informer votre application. Ce retour en temps réel est crucial pour la notation dynamique des risques, vous permettant de :
- Mettre à jour instantanément les profils utilisateur : Marquer les utilisateurs comme vérifiés ou les signaler pour examen en fonction du résultat de la vérification d'identité ou du filtrage AML.
- Déclencher des flux de travail conditionnels : Si un utilisateur échoue à un contrôle de détection de vivacité ou est signalé lors du filtrage AML, vous pouvez immédiatement lancer un processus d'examen plus approfondi ou bloquer l'accès.
- Améliorer la détection de la fraude : Combinez les signaux de risque de Didit, tels que les résultats de l'analyse IP ou de la vérification téléphonique, avec vos modèles de fraude internes pour une évaluation plus complète.
Les webhooks de Didit fournissent des charges utiles JSON détaillées avec les résultats de diverses vérifications, y compris celles de la vérification d'identité, de la vivacité passive et active, de la correspondance faciale 1:1, du filtrage et de la surveillance AML, de la preuve d'adresse et de la vérification téléphonique et e-mail. Ces points de données riches sont inestimables pour construire un profil de risque en temps réel pour chaque utilisateur.
Sécuriser votre point de terminaison de webhook avec FastAPI Middleware
Recevoir des webhooks en toute sécurité n'est pas négociable. Des acteurs malveillants pourraient tenter d'envoyer de faux événements ou de rejouer d'anciens, entraînant des données compromises ou des actions incorrectes. Les webhooks de Didit incluent une signature HMAC-SHA256 et un horodatage, qui sont essentiels pour vérifier l'authenticité et l'intégrité de chaque requête entrante. Le middleware FastAPI est un excellent endroit pour implémenter ces contrôles de sécurité de manière centralisée.
Voici un aperçu conceptuel de la façon dont vous structureriez votre middleware FastAPI :
import hmac
import hashlib
import time
from fastapi import FastAPI, Request, HTTPException
from starlette.middleware.base import BaseHTTPMiddleware
from starlette.responses import JSONResponse
WEBHOOK_SECRET = "YOUR_DIDIT_WEBHOOK_SECRET" # Get this from Didit Console -> API Keys
class DiditWebhookSignatureMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
if request.url.path == "/api/webhooks/didit":
signature = request.headers.get("X-Signature")
timestamp = request.headers.get("X-Timestamp")
if not signature or not timestamp:
raise HTTPException(status_code=401, detail="Missing webhook signature or timestamp")
# 1. Verify Timestamp Freshness (e.g., within 5 minutes)
try:
request_time = int(timestamp)
if abs(time.time() - request_time) > 300: # 300 seconds = 5 minutes
raise HTTPException(status_code=401, detail="Webhook timestamp too old or too new")
except ValueError:
raise HTTPException(status_code=401, detail="Invalid timestamp format")
# 2. Reconstruct the signed payload
body = await request.body()
signed_payload = f"{timestamp}.{body.decode('utf-8')}"
# 3. Calculate expected signature
expected_signature = hmac.new(
WEBHOOK_SECRET.encode('utf-8'),
signed_payload.encode('utf-8'),
hashlib.sha256
).hexdigest()
# 4. Compare signatures
if not hmac.compare_digest(expected_signature, signature):
raise HTTPException(status_code=401, detail="Invalid webhook signature")
# If signature and timestamp are valid, proceed
request.state.didit_webhook_body = body.decode('utf-8') # Store for later processing
return await call_next(request)
app = FastAPI()
app.add_middleware(DiditWebhookSignatureMiddleware)
@app.post("/api/webhooks/didit")
async def handle_didit_webhook(request: Request):
# Webhook body is already verified and available in request.state
payload = json.loads(request.state.didit_webhook_body)
# Process payload for risk scoring, update user status, etc.
print("Received valid Didit webhook:", payload)
return JSONResponse({"status": "success"})
Ce middleware garantit que chaque requête de webhook Didit atteignant votre point de terminaison /api/webhooks/didit est authentifiée et récente avant même que la logique de votre application ne voie la charge utile. C'est une couche de défense critique contre divers vecteurs d'attaque.
Intégrer les signaux de risque en temps réel dans la logique de votre application
Une fois la charge utile du webhook vérifiée et analysée, votre application peut extraire les informations nécessaires pour mettre à jour les scores de risque de l'utilisateur ou déclencher des actions spécifiques. La documentation de l'API Full Flow de Didit décrit la structure complète de ces charges utiles, y compris session_id, vendor_data (votre ID utilisateur interne) et les résultats détaillés de chaque étape de vérification.
Par exemple, si un utilisateur subit une vérification d'identité et une détection de vivacité, la charge utile du webhook contiendra le statut de ces vérifications. Vous pourriez définir un score de risque basé sur :
- Vérification d'identité réussie : Abaisse le score de risque.
- Échec de la détection de vivacité : Augmente considérablement le score de risque, déclenchant potentiellement un gel de compte.
- Correspondance AML (PEP/Sanctions) : Risque élevé, nécessitant un examen manuel immédiat.
- Numéro de téléphone jetable détecté (à partir de la vérification téléphonique) : Risque modéré, pourrait indiquer une intention frauduleuse.
Le rôle de votre gestionnaire de webhook est d'interpréter ces signaux et de mettre à jour l'état interne de l'utilisateur ou le profil de risque en conséquence. Cela pourrait impliquer la mise à jour d'un champ user_status dans votre base de données, l'ajout d'un indicateur pour un examen manuel, ou même l'intégration avec un système de gestion de la fraude dédié.
Comment Didit aide
Didit est la plateforme d'identité nativement basée sur l'IA et conçue pour les développeurs, conçue pour rendre la notation des risques d'identité en temps réel transparente et efficace. Notre architecture modulaire vous permet de composer des flux de travail de vérification qui répondent précisément à vos besoins, de la vérification d'identité de base au filtrage AML avancé et à la détection de vivacité passive et active. Nous fournissons des capacités de webhook robustes, garantissant que vos applications reçoivent des notifications sécurisées et en temps réel sur les résultats de la vérification.
Avec Didit, vous bénéficiez de :
- KYC Core gratuit : Commencez avec la vérification d'identité essentielle sans frais, vous permettant de construire et de tester votre intégration sans investissement initial.
- Intelligence native de l'IA : Tirez parti de l'IA de pointe pour une détection de fraude, une détection de vivacité et une analyse de documents supérieures, fournissant des signaux de risque précis.
- Approche axée sur les développeurs : Des API claires, une documentation complète et un bac à sable instantané rendent l'intégration avec des frameworks comme FastAPI simple et rapide.
- Flux de travail orchestrés : Définissez des flux de vérification complexes avec un moteur sans code, vous permettant de vous adapter aux paysages de risques en évolution sans modifications de code.
- Couverture mondiale : Vérifiez les identités dans le monde entier avec la prise en charge de divers types de documents et d'exigences de conformité régionales.
En tirant parti des produits de vérification téléphonique et e-mail, de vérification d'identité et de filtrage et de surveillance AML de Didit, combinés à notre infrastructure de webhook sécurisée, vous pouvez créer un système de notation des risques d'identité hautement réactif et résilient au sein de votre application FastAPI. Notre plateforme fournit les données en temps réel dont vous avez besoin pour prendre des décisions éclairées et protéger votre entreprise.
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.