Skip to main content
Базовый сценарий Veriqa: пользователь открывает ваше приложение на десктопе, видит QR-код, сканирует его камерой телефона и подтверждает вход в мессенджере. Форму заполнять не нужно, пароль придумывать — тоже: регистрация происходит тем же действием, что и вход.

Что делает ваше приложение

Ничего, кроме обычного OpenID Connect:
Дальше — стандартный обмен кода на токены. Никакого клиентского SDK, виджета или JS-компонента Veriqa не требует: страницу входа с QR-кодом рисует сервер.

Что происходит у пользователя

  1. на экране появляется QR-код — это всё, что нужно для входа;
  2. пользователь открывает камеру телефона, сканирует код и переходит по ссылке;
  3. открывается привычное приложение — MAX, Telegram, WhatsApp или другой мессенджер (или письмо, если выбран канал Email);
  4. пользователь подтверждает вход кнопкой — без пароля и без кода из SMS;
  5. ваша auth-система выпускает токены, вход завершён.
Первый вход и все последующие выглядят для пользователя одинаково. Разница только на вашей стороне: если sub встречается впервые, вы заводите учётную запись, если нет — узнаёте существующую.

Что приезжает в claims

sub — стабильный идентификатор субъекта, по нему вы узнаёте вернувшегося пользователя. При scope=profile добавляются человекочитаемое имя и связанные с ним поля; состав зависит от канала.
Email приезжает не от каждого канала. Telegram адреса не отдаёт и не отдаст — учётная запись создаётся без него. Если email обязателен, используйте канал Email или спросите адрес отдельным шагом после первого входа. Как с этим справляются готовые CMS — в разделе Veriqa в CMS.

Если у пользователя нет мессенджера на этом устройстве

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

Дальше

Привязка канала

Тем же действием получить живой канал для уведомлений.

Полный поток OIDC

Что происходит между authorize и token.