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

Динамическая верификация личности с помощью Express.js Middleware (RU)

Узнайте, как создать Express.js middleware для динамической верификации личности с использованием мощного API Didit. Этот подход обеспечивает гибкую оценку рисков в реальном времени и персонализированный пользовательский опыт.

Автор: DiditОбновлено
expressjs-middleware-for-dynamic-identity-verification.png

Динамическая верификация с Express.jsРеализуйте Express.js middleware для управления решениями по верификации личности в реальном времени, адаптируя рабочие процессы на основе контекста пользователя или риска транзакции с помощью API Didit.

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

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

Бесшовная интеграция и бесплатный базовый KYCDidit предлагает подход, ориентированный на разработчиков, с чистыми API, мгновенной "песочницей" и бесплатным базовым KYC, что упрощает создание и развертывание сложной логики верификации в ваших приложениях Express.js.

Необходимость динамической верификации личности

В современном цифровом мире статические процессы верификации личности уже недостаточны. Компаниям нужна гибкость для адаптации своих требований KYC (Know Your Customer) и AML (Anti-Money Laundering) на основе различных факторов, таких как местоположение пользователя, стоимость транзакции, профиль риска или даже конкретная услуга, к которой осуществляется доступ. Например, транзакция с низкой стоимостью может потребовать только базовой верификации по электронной почте, в то время как высокоценная финансовая операция требует полного сканирования удостоверения личности, проверки активности и AML-скрининга. Создание Express.js middleware предоставляет элегантный и эффективный способ встроить эти возможности динамического принятия решений непосредственно в цикл запрос-ответ вашего приложения.

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

Разработка Express.js Middleware для верификации

Функция Express.js middleware имеет доступ к объектам запроса и ответа, а также к следующей функции middleware в цикле запрос-ответ приложения. Это делает ее идеальным местом для перехвата запросов, выполнения проверок личности и изменения потока на основе результатов. Вот концептуальный план того, как может работать такой middleware:

  1. Перехват запроса: Middleware перехватывает входящий запрос к защищенному маршруту (например, маршруту для инициирования высокоценной транзакции).
  2. Извлечение контекста: Он извлекает соответствующую информацию из запроса, такую как ID пользователя, IP-адрес, запрашиваемое действие или сумма транзакции.
  3. Оценка риска/политики: На основе этого контекста middleware определяет требуемый уровень верификации. Это может включать проверку внутренних профилей пользователей, оценки рисков в реальном времени или предопределенных бизнес-правил.
  4. Инициирование сессии Didit: Если требуется верификация, middleware делает вызов API к Didit для создания новой сессии верификации. Инструмент Didit didit_create_session идеально подходит для этого, позволяя указать workflow_id, который соответствует желаемым шагам верификации (например, верификация документов, пассивная и активная проверка активности, AML-скрининг).
  5. Перенаправление или встраивание: Didit возвращает уникальный URL для верификации. Middleware может затем перенаправить пользователя на этот URL или, для более интегрированного опыта, встроить поток верификации Didit в iframe на вашем сайте.
  6. Обработка колбэков вебхуков: Платформа Didit отправляет обновления в реальном времени через вебхуки по мере прохождения пользователем верификации и при принятии окончательного решения. Вашему бэкенду нужна отдельная конечная точка для получения и обработки этих вебхуков, обновляя статус верификации пользователя в вашей базе данных.
  7. Разрешение или отказ в доступе: После того как вебхук подтверждает успешную верификацию, пользователю может быть предоставлен доступ к защищенному ресурсу. Если верификация не удалась, доступ запрещается.

Эта динамическая оркестровка позволяет определять сложные пути верификации без жесткого кодирования каждого решения в логику вашего приложения. Модульная архитектура Didit означает, что вы можете легко заменять или добавлять новые шаги верификации (например, подтверждение адреса или оценку возраста) в свои рабочие процессы в Business Console без изменения кода вашего приложения.

Практическая реализация с API Didit

Рассмотрим упрощенный пример Express.js middleware, который инициирует сессию верификации Didit. Во-первых, убедитесь, что у вас есть ключ API от Didit. Вы будете использовать его для аутентификации ваших запросов.


const express = require('express');
const axios = require('axios');
const app = express();

// Замените на ваш фактический ключ API Didit и ID рабочего процесса
const DIDIT_API_KEY = 'YOUR_DIDIT_API_KEY';
const HIGH_RISK_WORKFLOW_ID = 'YOUR_HIGH_RISK_WORKFLOW_ID'; // например, ID + Liveness + AML
const LOW_RISK_WORKFLOW_ID = 'YOUR_LOW_RISK_WORKFLOW_ID';   // например, Email + Phone

// Мок-функция для определения риска на основе пользовательских данных
const assessRisk = (userId, transactionAmount) => {
    // В реальном приложении это будет включать более сложную логику
    if (transactionAmount > 1000 || userId === 'high_risk_user_id') {
        return 'HIGH';
    }
    return 'LOW';
};

const dynamicVerificationMiddleware = async (req, res, next) => {
    const userId = req.user.id; // Предполагается, что ID пользователя доступен из сессии/аутентификации
    const transactionAmount = req.body.amount; // Предполагается, что сумма находится в теле запроса

    const riskLevel = assessRisk(userId, transactionAmount);
    let workflowIdToUse;

    if (riskLevel === 'HIGH') {
        console.log(`Пользователь ${userId} идентифицирован как HIGH риск. Инициирование высокорисковой верификации.`);
        workflowIdToUse = HIGH_RISK_WORKFLOW_ID;
    } else {
        console.log(`Пользователь ${userId} идентифицирован как LOW риск. Инициирование низкорисковой верификации.`);
        workflowIdToUse = LOW_RISK_WORKFLOW_ID;
    }

    try {
        const response = await axios.post(
            'https://verification.didit.me/v3/session/',
            {
                workflow_id: workflowIdToUse,
                vendor_data: userId, // Связывание сессии с вашим внутренним ID пользователя
                callback: 'https://your-app.com/didit/webhook-handler' // Ваша конечная точка вебхука
            },
            {
                headers: {
                    'x-api-key': DIDIT_API_KEY,
                    'Content-Type': 'application/json'
                }
            }
        );

        const verificationUrl = response.data.url;
        console.log(`URL верификации для пользователя ${userId}: ${verificationUrl}`);

        // Перенаправление пользователя на размещенную страницу верификации Didit
        return res.redirect(verificationUrl);

        // Альтернативно, отправьте URL обратно клиенту для интеграции на стороне клиента (например, iframe)
        // return res.status(402).json({ message: 'Verification required', verificationUrl });

    } catch (error) {
        console.error('Ошибка создания сессии Didit:', error.response ? error.response.data : error.message);
        return res.status(500).send('Сервис верификации недоступен.');
    }
};

// Пример защищенного маршрута
app.post('/api/perform-transaction', dynamicVerificationMiddleware, (req, res) => {
    // Этот код будет выполнен только в том случае, если dynamicVerificationMiddleware разрешит это (например, после подтверждения верификации вебхуком)
    res.send('Транзакция успешно завершена!');
});

app.listen(3000, () => console.log('Сервер запущен на порту 3000'));

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

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

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

  • Модульная идентификация: Открытая и модульная архитектура Didit позволяет вам составлять рабочие процессы верификации с помощью специфических проверок, таких как верификация документов (OCR, MRZ, штрих-коды), пассивная и активная проверка активности, сопоставление лиц 1:1, AML-скрининг и мониторинг, подтверждение адреса и оценка возраста. Вы объединяете их в настраиваемые рабочие процессы в нашей Business Console без кода, каждый с уникальным workflow_id, который ваш middleware может динамически вызывать.
  • Оркестрованные рабочие процессы: Определяйте сложные пути верификации с условной логикой и несколькими шагами, все это управляется Didit, что снижает нагрузку на ваше приложение.
  • Опыт, ориентированный на разработчиков: Благодаря чистым API, мгновенной "песочнице" и всеобъемлющей документации, интеграция Didit в ваше приложение Express.js проста. Вы можете генерировать ссылки для верификации с помощью простого вызова API, как показано выше.
  • Автоматизация вместо ручного контроля: AI-нативные возможности Didit автоматизируют принятие решений для большого процента верификаций, значительно сокращая необходимость в ручном контроле и ускоряя процесс онбординга.
  • Бесплатный базовый KYC: Начните использовать основные функции верификации личности без первоначальных затрат, что позволяет эффективно тестировать и масштабировать ваши стратегии динамической верификации.

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

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

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

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

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

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

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