Middleware de FastAPI para la Puntuación de Riesgo de Identidad en Tiempo Real con Didit (ES)
Implemente una puntuación de riesgo de identidad robusta y en tiempo real en sus aplicaciones FastAPI utilizando los webhooks de Didit. Esta guía cubre la configuración segura de webhooks, la verificación de firmas y la.

La Puntuación de Riesgo en Tiempo Real es Esencial: Las aplicaciones modernas exigen una evaluación inmediata del riesgo de identidad para combatir el fraude y garantizar el cumplimiento de manera efectiva.
El Manejo Seguro de Webhooks es Fundamental: La implementación de una verificación de firma robusta y comprobaciones de marca de tiempo para los webhooks entrantes previene la manipulación y los ataques de repetición, crucial para mantener la integridad de los datos.
El Middleware de FastAPI Agiliza la Integración: El aprovechamiento de las capacidades de middleware de FastAPI permite un procesamiento centralizado y eficiente de eventos de webhook asincrónicos, integrándose sin problemas con el flujo de su aplicación.
Didit Impulsa la Orquestación Inteligente de Identidades: Didit proporciona la verificación de identidad nativa de IA y la infraestructura de webhooks, ofreciendo notificaciones en tiempo real y señales de riesgo completas para informar las decisiones de seguridad de su aplicación.
En el panorama digital actual, la velocidad y precisión de la verificación de identidad impactan directamente la postura de seguridad y la experiencia del usuario de una aplicación. A medida que las empresas escalan, la necesidad de una puntuación de riesgo en tiempo real se vuelve primordial, permitiendo una acción inmediata contra actividades fraudulentas y asegurando el cumplimiento de los estándares regulatorios. La integración de una plataforma avanzada de verificación de identidad como Didit con su backend, particularmente usando un framework moderno como FastAPI, puede mejorar significativamente sus defensas.
Esta publicación de blog lo guiará a través de la construcción de un middleware robusto de FastAPI para procesar los webhooks de Didit para la puntuación de riesgo de identidad en tiempo real. Cubriremos la recepción segura de webhooks, la verificación de firmas y cómo integrar estas señales de riesgo críticas en la lógica de su aplicación.
El Poder de los Webhooks para Señales de Identidad en Tiempo Real
Los webhooks son un pilar fundamental de la comunicación asincrónica moderna, lo que permite a los servicios enviar notificaciones en tiempo real a otras aplicaciones cuando ocurren eventos específicos. Para la verificación de identidad, esto significa que tan pronto como un usuario completa un paso de verificación, o se finaliza una evaluación de riesgo, Didit puede informar inmediatamente a su aplicación. Esta retroalimentación en tiempo real es crucial para la puntuación de riesgo dinámica, lo que le permite:
- Actualizar instantáneamente perfiles de usuario: Marque a los usuarios como verificados o señalelos para revisión en función del resultado de la verificación de identidad o el cribado AML.
- Activar flujos de trabajo condicionales: Si un usuario falla una verificación de detección de vida o es marcado durante el cribado AML, puede iniciar inmediatamente un proceso de revisión más profundo o bloquear el acceso.
- Mejorar la detección de fraude: Combine las señales de riesgo de Didit, como el análisis de IP o los resultados de verificación telefónica, con sus modelos internos de fraude para una evaluación más completa.
Los webhooks de Didit proporcionan cargas JSON detalladas con los resultados de varias comprobaciones de verificación, incluidas las de verificación de identidad, detección de vida pasiva y activa, coincidencia facial 1:1, cribado y monitoreo AML, prueba de dirección y verificación de teléfono y correo electrónico. Estos ricos puntos de datos son invaluables para construir un perfil de riesgo en tiempo real para cada usuario.
Asegurando su Punto Final de Webhook con Middleware de FastAPI
Recibir webhooks de forma segura es innegociable. Los actores maliciosos podrían intentar enviar eventos falsos o reproducir eventos antiguos, lo que llevaría a datos comprometidos o acciones incorrectas. Los webhooks de Didit incluyen una firma HMAC-SHA256 y una marca de tiempo, que son esenciales para verificar la autenticidad e integridad de cada solicitud entrante. El middleware de FastAPI es un excelente lugar para implementar estas comprobaciones de seguridad de forma centralizada.
Aquí hay un esquema conceptual de cómo estructuraría su middleware de 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" # Obténgalo de 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="Falta la firma o la marca de tiempo del webhook")
# 1. Verificar la frescura de la marca de tiempo (por ejemplo, dentro de 5 minutos)
try:
request_time = int(timestamp)
if abs(time.time() - request_time) > 300: # 300 segundos = 5 minutos
raise HTTPException(status_code=401, detail="La marca de tiempo del webhook es demasiado antigua o demasiado nueva")
except ValueError:
raise HTTPException(status_code=401, detail="Formato de marca de tiempo inválido")
# 2. Reconstruir la carga firmada
body = await request.body()
signed_payload = f"{timestamp}.{body.decode('utf-8')}"
# 3. Calcular la firma esperada
expected_signature = hmac.new(
WEBHOOK_SECRET.encode('utf-8'),
signed_payload.encode('utf-8'),
hashlib.sha256
).hexdigest()
# 4. Comparar firmas
if not hmac.compare_digest(expected_signature, signature):
raise HTTPException(status_code=401, detail="Firma de webhook inválida")
# Si la firma y la marca de tiempo son válidas, continuar
request.state.didit_webhook_body = body.decode('utf-8') # Almacenar para procesamiento posterior
return await call_next(request)
app = FastAPI()
app.add_middleware(DiditWebhookSignatureMiddleware)
@app.post("/api/webhooks/didit")
async def handle_didit_webhook(request: Request):
# El cuerpo del webhook ya está verificado y disponible en request.state
payload = json.loads(request.state.didit_webhook_body)
# Procesar la carga para la puntuación de riesgo, actualizar el estado del usuario, etc.
print("Webhook de Didit válido recibido:", payload)
return JSONResponse({"status": "success"})
Este middleware asegura que cada solicitud de webhook de Didit que llega a su punto final /api/webhooks/didit sea autenticada y reciente antes de que la lógica de su aplicación siquiera vea la carga útil. Esta es una capa crítica de defensa contra varios vectores de ataque.
Integración de Señales de Riesgo en Tiempo Real en la Lógica de su Aplicación
Una vez que la carga útil del webhook se verifica y se analiza, su aplicación puede extraer la información necesaria para actualizar las puntuaciones de riesgo del usuario o activar acciones específicas. La documentación de Didit para el flujo completo de la API describe la estructura completa de estas cargas útiles, incluyendo session_id, vendor_data (su ID de usuario interno) y los resultados detallados de cada paso de verificación.
Por ejemplo, si un usuario se somete a verificación de identidad y detección de vida, la carga útil del webhook contendrá el estado de estas comprobaciones. Podría definir una puntuación de riesgo basada en:
- Verificación de identidad exitosa: Disminuye la puntuación de riesgo.
- Detección de vida fallida: Aumenta significativamente la puntuación de riesgo, lo que podría activar una congelación de cuenta.
- Coincidencia en cribado AML (PEP/Sanciones): Alto riesgo, que requiere una revisión manual inmediata.
- Número de teléfono desechable detectado (de verificación telefónica): Riesgo moderado, podría indicar intención fraudulenta.
La función de su manejador de webhooks es interpretar estas señales y actualizar el estado interno o el perfil de riesgo de su usuario en consecuencia. Esto podría implicar actualizar un campo user_status en su base de datos, agregar una bandera para revisión manual o incluso integrarse con un sistema dedicado de gestión de fraude.
Cómo Ayuda Didit
Didit es la plataforma de identidad nativa de IA y orientada al desarrollador, diseñada para hacer que la puntuación de riesgo de identidad en tiempo real sea fluida y eficiente. Nuestra arquitectura modular le permite componer flujos de trabajo de verificación que satisfacen precisamente sus necesidades, desde la verificación de identidad básica hasta el cribado AML avanzado y la detección de vida pasiva y activa. Proporcionamos capacidades robustas de webhook, asegurando que sus aplicaciones reciban notificaciones seguras y en tiempo real sobre los resultados de la verificación.
Con Didit, se beneficia de:
- KYC Core Gratuito: Comience con la verificación de identidad esencial sin costo, lo que le permite construir y probar su integración sin inversión inicial.
- Inteligencia Nativa de IA: Aproveche la IA de vanguardia para una detección de fraude superior, detección de vida y análisis de documentos, proporcionando señales de riesgo precisas.
- Enfoque Primero al Desarrollador: APIs limpias, documentación completa y un entorno de pruebas instantáneo hacen que la integración con frameworks como FastAPI sea sencilla y rápida.
- Flujos de Trabajo Orquestados: Defina flujos de verificación complejos con un motor sin código, lo que le permite adaptarse a los paisajes de riesgo cambiantes sin cambios en el código.
- Cobertura Global: Verifique identidades en todo el mundo con soporte para diversos tipos de documentos y requisitos de cumplimiento regional.
Al aprovechar los productos de verificación de teléfono y correo electrónico, verificación de identidad y cribado y monitoreo AML de Didit, combinados con nuestra infraestructura segura de webhooks, puede construir un sistema de puntuación de riesgo de identidad altamente receptivo y resistente dentro de su aplicación FastAPI. Nuestra plataforma ofrece los datos en tiempo real que necesita para tomar decisiones informadas y proteger su negocio.
¿Listo para Empezar?
¿Listo para ver Didit en acción? Obtenga una demostración gratuita hoy.
Comience a verificar identidades de forma gratuita con el nivel gratuito de Didit.