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

Создание высокопроизводительного gRPC микросервиса на Go для обработки вебхуков Didit (RU)

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

Автор: DiditОбновлено
building-a-high-performance-grpc-microservice-for-didit-webhook-consumption-in-go.png

Безопасная обработка вебхуковРеализация надёжной проверки подписи HMAC-SHA256 критически важна для аутентификации входящих вебхуков Didit и защиты вашей системы от попыток спуфинга.

Высокопроизводительная обработка с Go и gRPCИспользуйте функции параллелизма Go и gRPC для создания эффективных микросервисов с низкой задержкой, способных обрабатывать большие объёмы событий верификации личности в реальном времени.

Событийно-ориентированная архитектураРазработайте потребитель вебхуков как событийно-ориентированный микросервис для разделения логики обработки, повышения масштабируемости и обеспечения надёжной доставки критических обновлений личности.

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

Важность событий верификации личности в реальном времени

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

Полагаться на опрос API для получения обновлений может привести к задержкам, потреблению ненужных ресурсов и неэффективности в сценариях с большим объёмом данных. Вебхуки, наоборот, отправляют данные на указанную вами конечную точку сразу после возникновения события, гарантируя, что ваша система всегда синхронизирована с последним статусом верификации личности. Это особенно важно для приложений, требующих быстрой реакции, таких как финансовые услуги, нуждающиеся в мгновенных обновлениях AML Screening & Monitoring, или онлайн-торговые площадки, верифицирующие личности пользователей с помощью ID Verification и Passive & Active Liveness для борьбы с мошенничеством.

Разработка надёжного gRPC микросервиса для обработки вебхуков

Создание высокопроизводительного потребителя вебхуков требует тщательного учёта безопасности, масштабируемости и надёжности. Go, с его сильной моделью параллелизма и отличными характеристиками производительности, является идеальным языком для этой задачи. Сочетание Go с gRPC, высокопроизводительным, открытым универсальным RPC-фреймворком, даёт несколько преимуществ:

  • Эффективность: gRPC использует Protocol Buffers для сериализации, которые меньше и быстрее, чем JSON, что снижает накладные расходы сети.
  • Производительность: Построенный на HTTP/2, gRPC поддерживает мультиплексирование, сжатие заголовков и серверный пуш, что приводит к меньшей задержке и более высокой пропускной способности.
  • Строгая типизация: Protocol Buffers обеспечивают схему, гарантируя согласованность данных и уменьшая количество ошибок во время выполнения.
  • Взаимодействие: Хотя мы сосредоточены на Go, клиенты и серверы gRPC могут быть реализованы на множестве языков, что облегчает взаимодействие микросервисов в гетерогенных средах.

Для обработки вебхуков Didit ваш gRPC микросервис будет действовать как сервер, предоставляя конечную точку, которую система вебхуков Didit сможет вызывать. Хотя вебхуки обычно используют HTTP/S POST-запросы, внутреннее взаимодействие в вашей микросервисной архитектуре может выиграть от gRPC. Внешняя конечная точка по-прежнему будет HTTP/S конечной точкой, которая получает вебхук, но её последующая обработка может быть делегирована внутреннему gRPC-сервису.

Реализация безопасной проверки вебхуков на Go

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

Вот концептуальный план безопасной обработки вебхуков на Go:

  1. Получение секрета вебхука: Получите ваш secret_shared_key из бизнес-консоли Didit или через Didit API (GET /v3/webhook/).
  2. Получение запроса вебхука: Ваша HTTP/S конечная точка получит POST-запрос от Didit. Необработанное тело запроса и заголовок X-Signature являются важными.
  3. Проверка подписи: Вычислите подпись HMAC-SHA256 необработанного тела запроса, используя ваш secret_shared_key. Сравните эту вычисленную подпись с той, что предоставлена в заголовке X-Signature. Если они не совпадают, немедленно отклоните запрос.
  4. Проверка метки времени: Вебхуки Didit включают метку времени. Проверьте, что эта метка времени актуальна (например, в течение 5 минут), чтобы предотвратить атаки повторного воспроизведения.
  5. Разбор полезной нагрузки: После проверки разберите JSON-полезную нагрузку, которая будет содержать подробную информацию о сессии верификации личности, включая результат таких процессов, как ID Verification, Passive & Active Liveness или AML Screening.
  6. Обработка события: В зависимости от типа и статуса события, запустите соответствующие последующие действия в вашем приложении.

Вебхуки Didit поддерживают различные версии (v1, v2, v3), при этом v3 является рекомендуемым выбором из-за его комплексной структуры данных. Вы можете настроить желаемый webhook_version и webhook_url с помощью Didit API (PATCH /v3/webhook/) или через бизнес-консоль. Вы также можете менять ваш secret_shared_key по мере необходимости для повышения безопасности.

Соображения по масштабированию и хранению данных

По мере роста вашей пользовательской базы будет расти и объём вебхуков. Ваш Go gRPC микросервис должен быть разработан с учётом масштабируемости. Это может включать:

  • Асинхронная обработка: Вместо синхронной обработки вебхука в обработчике HTTP, передавайте проверенную полезную нагрузку в очередь сообщений (например, Kafka, RabbitMQ) для асинхронной обработки выделенными рабочими службами. Это разделяет приём и обработку, улучшая отзывчивость и отказоустойчивость.
  • Балансировка нагрузки: Разверните несколько экземпляров вашего потребителя вебхуков за балансировщиком нагрузки для распределения трафика и обработки пиковых нагрузок.
  • Мониторинг: Внедрите надёжное логирование и мониторинг для отслеживания доставки вебхуков, времени обработки и потенциальных ошибок.

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

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

Didit предоставляет базовую инфраструктуру идентификации, которая делает создание высокопроизводительных потребителей вебхуков простым и безопасным. Наша платформа предлагает уровень Free Core KYC, позволяющий начать верификацию личности без первоначальных затрат. Модульная архитектура Didit означает, что вы можете выбирать необходимые примитивы идентификации, такие как ID Verification для проверки документов, Passive & Active Liveness для предотвращения мошенничества или AML Screening & Monitoring для соответствия требованиям, и бесшовно интегрировать их в свои рабочие процессы.

Наши вебхуки разработаны для разработчиков, предоставляя уведомления в реальном времени о критических событиях. Благодаря таким функциям, как настраиваемые URL-адреса вебхуков, версии полезной нагрузки (рекомендуется v3) и простое изменение секретного ключа, Didit гарантирует, что у вас есть инструменты для создания безопасного и масштабируемого сервиса потребления вебхуков. Наш подход к верификации личности на основе ИИ означает, что вы получаете высокоточные и надёжные результаты, которые ваш Go gRPC микросервис может мгновенно потреблять и обрабатывать. Didit также поддерживает NFC Verification для электронных паспортов и электронных удостоверений личности, обеспечивая высочайший уровень надёжности, при этом все результаты могут быть отправлены через вебхуки.

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

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

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

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

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

Попросите ИИ кратко изложить эту страницу
Высокопроизводительный gRPC микросервис Go для вебхуков.