Перейти к основному содержимому
Didit привлёк $7,5 млн на инфраструктуру для идентификации и борьбы с мошенничеством
Didit
В блог
Блог · 6 марта 2026 г.

FastAPI Middleware: Оценка рисков идентификации в реальном времени с Didit

Внедрите надёжную оценку рисков идентификации в реальном времени в свои приложения FastAPI, используя вебхуки Didit. Это руководство охватывает настройку безопасной обработки вебхуков, проверку подписи и интеграцию сигналов риска.

Автор: DiditОбновлено
blog-31293-thumbnail.webp

Оценка рисков в реальном времени — это необходимость.Современные приложения требуют немедленной оценки рисков идентификации для эффективной борьбы с мошенничеством и обеспечения соответствия требованиям.

Безопасная обработка вебхуков имеет первостепенное значение.Внедрение надёжной проверки подписи и временных меток для входящих вебхуков предотвращает подделку и атаки повторного воспроизведения, что критически важно для поддержания целостности данных.

FastAPI Middleware упрощает интеграцию.Использование возможностей middleware FastAPI позволяет централизованно и эффективно обрабатывать асинхронные события вебхуков, бесшовно интегрируясь в рабочий процесс вашего приложения.

Didit обеспечивает интеллектуальную оркестрацию идентификации.Didit предоставляет AI-нативную инфраструктуру для проверки личности и вебхуков, предлагая уведомления в реальном времени и всеобъемлющие сигналы риска для принятия решений по безопасности вашего приложения.

В современном цифровом ландшафте скорость и точность проверки личности напрямую влияют на безопасность приложения и удобство использования. По мере масштабирования бизнеса потребность в оценке рисков в реальном времени становится первостепенной, позволяя немедленно реагировать на мошеннические действия и обеспечивать соответствие нормативным стандартам. Интеграция продвинутой платформы проверки личности, такой как Didit, с вашим бэкэндом, особенно с использованием современного фреймворка, такого как FastAPI, может значительно усилить вашу защиту.

Эта статья в блоге проведёт вас через создание надёжного FastAPI middleware для обработки вебхуков Didit с целью оценки рисков идентификации в реальном времени. Мы рассмотрим безопасный приём вебхуков, проверку подписи и то, как интегрировать эти критически важные сигналы риска в логику вашего приложения.

Сила вебхуков для сигналов идентификации в реальном времени

Вебхуки являются краеугольным камнем современной асинхронной связи, позволяя сервисам отправлять уведомления в реальном времени другим приложениям при возникновении определённых событий. Для проверки личности это означает, что как только пользователь завершает этап проверки или завершается оценка риска, Didit может немедленно информировать ваше приложение. Эта обратная связь в реальном времени имеет решающее значение для динамической оценки рисков, позволяя вам:

  • Мгновенно обновлять профили пользователей: Отмечать пользователей как подтверждённых или помечать их для проверки на основе результатов проверки личности или AML-скрининга.
  • Запускать условные рабочие процессы: Если пользователь не прошёл проверку на живость или был помечен во время AML-скрининга, вы можете немедленно инициировать более глубокий процесс проверки или заблокировать доступ.
  • Улучшать обнаружение мошенничества: Объединять сигналы риска Didit, такие как результаты анализа IP или проверки телефона, с вашими внутренними моделями мошенничества для более всесторонней оценки.

Вебхуки Didit предоставляют подробные JSON-полезные данные с результатами различных проверок, включая проверку личности, пассивную и активную проверку на живость, сопоставление лиц 1:1, AML-скрининг и мониторинг, подтверждение адреса, а также проверку телефона и электронной почты. Эти богатые данные бесценны для построения профиля риска в реальном времени для каждого пользователя.

Защита конечной точки вебхука с помощью FastAPI Middleware

Безопасный приём вебхуков не подлежит обсуждению. Злоумышленники могут попытаться отправлять поддельные события или воспроизводить старые, что приведёт к компрометации данных или неверным действиям. Вебхуки Didit включают подпись HMAC-SHA256 и временную метку, которые необходимы для проверки подлинности и целостности каждого входящего запроса. FastAPI middleware — отличное место для централизованной реализации этих проверок безопасности.

Вот концептуальная схема того, как вы структурируете свой FastAPI middleware:


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" # Получите это из 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="Отсутствует подпись вебхука или временная метка")

            # 1. Проверка актуальности временной метки (например, в течение 5 минут)
            try:
                request_time = int(timestamp)
                if abs(time.time() - request_time) > 300: # 300 секунд = 5 минут
                    raise HTTPException(status_code=401, detail="Временная метка вебхука слишком старая или слишком новая")
            except ValueError:
                raise HTTPException(status_code=401, detail="Неверный формат временной метки")

            # 2. Восстановление подписанного полезного содержимого
            body = await request.body()
            signed_payload = f"{timestamp}.{body.decode('utf-8')}"

            # 3. Вычисление ожидаемой подписи
            expected_signature = hmac.new(
                WEBHOOK_SECRET.encode('utf-8'),
                signed_payload.encode('utf-8'),
                hashlib.sha256
            ).hexdigest()

            # 4. Сравнение подписей
            if not hmac.compare_digest(expected_signature, signature):
                raise HTTPException(status_code=401, detail="Неверная подпись вебхука")

            # Если подпись и временная метка действительны, продолжаем
            request.state.didit_webhook_body = body.decode('utf-8') # Сохраняем для последующей обработки
        return await call_next(request)

app = FastAPI()
app.add_middleware(DiditWebhookSignatureMiddleware)

@app.post("/api/webhooks/didit")
async def handle_didit_webhook(request: Request):
    # Тело вебхука уже проверено и доступно в request.state
    payload = json.loads(request.state.didit_webhook_body)
    # Обработка полезной нагрузки для оценки рисков, обновления статуса пользователя и т.д.
    print("Получен действительный вебхук Didit:", payload)
    return JSONResponse({"status": "success"})

Этот middleware гарантирует, что каждый запрос вебхука Didit, попадающий на вашу конечную точку /api/webhooks/didit, будет аутентифицирован и актуален до того, как логика вашего приложения даже увидит полезную нагрузку. Это критически важный уровень защиты от различных векторов атак.

Интеграция сигналов риска в реальном времени в логику вашего приложения

После проверки и парсинга полезной нагрузки вебхука ваше приложение может извлечь необходимую информацию для обновления показателей риска пользователя или запуска определённых действий. Документация Didit API Full Flow описывает полную структуру этих полезных нагрузок, включая session_id, vendor_data (ваш внутренний идентификатор пользователя) и подробные результаты каждого этапа проверки.

Например, если пользователь проходит проверку личности и проверку на живость, полезная нагрузка вебхука будет содержать статус этих проверок. Вы можете определить оценку риска на основе:

  • Успешная проверка личности: Снижает оценку риска.
  • Неудачная проверка на живость: Значительно повышает оценку риска, потенциально приводя к блокировке учетной записи.
  • Срабатывание AML-скрининга (PEP/Санкции): Высокий риск, требующий немедленного ручного рассмотрения.
  • Обнаружен одноразовый номер телефона (по результатам проверки телефона): Умеренный риск, может указывать на мошеннические намерения.

Задача обработчика вебхуков — интерпретировать эти сигналы и соответствующим образом обновлять внутреннее состояние пользователя или профиль риска. Это может включать обновление поля user_status в вашей базе данных, добавление флага для ручной проверки или даже интеграцию со специализированной системой управления мошенничеством.

Как Didit помогает

Didit — это AI-нативная, ориентированная на разработчиков платформа идентификации, разработанная для обеспечения бесшовной и эффективной оценки рисков идентификации в реальном времени. Наша модульная архитектура позволяет вам создавать рабочие процессы проверки, которые точно соответствуют вашим потребностям, от базовой проверки личности до расширенного AML-скрининга, а также пассивного и активного обнаружения живости. Мы предоставляем надёжные возможности вебхуков, гарантируя, что ваши приложения получают безопасные уведомления в реальном времени о результатах проверки.

С Didit вы получаете:

  • Бесплатный Core KYC: Начните с основной проверки личности без затрат, что позволит вам создавать и тестировать свою интеграцию без первоначальных инвестиций.
  • AI-нативный интеллект: Используйте передовой ИИ для превосходного обнаружения мошенничества, определения живости и анализа документов, предоставляя точные сигналы риска.
  • Подход, ориентированный на разработчиков: Чистые API, исчерпывающая документация и мгновенная песочница делают интеграцию с фреймворками, такими как FastAPI, простой и быстрой.
  • Оркестрованные рабочие процессы: Определяйте сложные потоки проверки с помощью движка без кода, что позволяет вам адаптироваться к изменяющимся ландшафтам рисков без изменений кода.
  • Глобальное покрытие: Проверяйте личность по всему миру с поддержкой различных типов документов и региональных требований соответствия.

Используя продукты Didit для проверки телефона и электронной почты, проверки личности и AML-скрининга и мониторинга, в сочетании с нашей безопасной инфраструктурой вебхуков, вы можете создать высокоотзывчивую и устойчивую систему оценки рисков идентификации в вашем приложении FastAPI. Наша платформа предоставляет данные в реальном времени, необходимые для принятия обоснованных решений и защиты вашего бизнеса.

Готовы начать?

Готовы увидеть Didit в действии? Получите бесплатную демонстрацию сегодня.

Начните бесплатно проверять личность с бесплатным тарифом Didit.

Инфраструктура для идентификации и борьбы с мошенничеством.

Единый API для KYC, KYB, мониторинга транзакций и проверки кошельков. Интеграция за 5 минут.

Попросите ИИ кратко изложить эту страницу
FastAPI Middleware для оценки рисков в реальном времени.