Когда использовать Redirect
- Верификация на нескольких устройствах: начните на компьютере, завершите на телефоне
- Максимальная совместимость: работает во всех браузерах, включая старые версии
- Простая интеграция: не требуется настройка iframe
- Проблемы с камерой: когда доступ к камере в iframe работает некорректно
Реализация
Шаг 1: создание сессии (бэкенд)
В ответе на создание сессии есть поле с именемurl. Передайте это значение в браузер.
Шаг 2: перенаправление пользователя (фронтенд)
HTML:Обработка обратного вызова
Когда верификация завершена, Didit перенаправляет пользователя на ваш URL обратного вызова с параметрами запроса:Пример для Next.js
Пример для Express.js
Пример для Vue Router
Открытие в новой вкладке
Если вы хотите, чтобы ваше приложение оставалось открытым во время верификации:Рекомендации по безопасности
Проверяйте обратный вызов на стороне сервера
Относитесь к параметрам запросаverificationSessionId и status как к ненадёжным подсказкам для интерфейса. Всегда подтверждайте итоговое решение на бэкенде: либо обрабатывая webhook (предпочтительно), либо повторно запрашивая решение через API:
Используйте webhook
Для самой надёжной интеграции используйте webhook, чтобы получать результаты верификации напрямую на ваш бэкенд независимо от того, как ведёт себя браузер пользователя.Сценарий с несколькими устройствами
Метод redirect естественным образом поддерживает верификацию на нескольких устройствах:- Пользователь нажимает «Верифицировать» на компьютере
- Пользователь перенаправляется на страницу верификации
- При необходимости пользователь может отсканировать QR-код, чтобы продолжить на телефоне
- После завершения пользователь перенаправляется на ваш URL обратного вызова. Какое устройство выполняет перенаправление, определяется параметром
callback_method(initiator,completerилиboth)
Устранение неполадок
Обратный вызов не получен
- Убедитесь, что URL обратного вызова правильно указан при создании сессии
- Убедитесь, что ваш URL обратного вызова доступен из интернета
- Проверьте, что в URL нет опечаток и проблем с кодировкой
Статус всегда «Declined»
- Проверьте настройки сценария в Didit Console
- Убедитесь, что используемые тестовые документы действительны
- Изучите детали сессии через API, чтобы узнать конкретные причины отказа
Бесконечный цикл перенаправлений
- Убедитесь, что ваш обработчик обратного вызова не перенаправляет обратно на верификацию
- Проверьте, не возникают ли проблемы с кешированием на странице обратного вызова
- Очистите кеш браузера и повторите попытку
Репозиторий с примерами
Репозиторий GitHub
Исходный код и примеры смотрите на GitHub