Что делает ваше приложение
Ничего, кроме обычного OpenID Connect:Что происходит у пользователя
- на экране появляется QR-код — это всё, что нужно для входа;
- пользователь открывает камеру телефона, сканирует код и переходит по ссылке;
- открывается привычное приложение — MAX, Telegram, WhatsApp или другой мессенджер (или письмо, если выбран канал Email);
- пользователь подтверждает вход кнопкой — без пароля и без кода из SMS;
- ваша auth-система выпускает токены, вход завершён.
Первый вход и все последующие выглядят для пользователя одинаково. Разница только на вашей
стороне: если
sub встречается впервые, вы заводите учётную запись, если нет — узнаёте
существующую.Что приезжает в claims
sub — стабильный идентификатор субъекта, по нему вы узнаёте вернувшегося пользователя. При
scope=profile добавляются человекочитаемое имя и связанные с ним поля; состав зависит от канала.
Если у пользователя нет мессенджера на этом устройстве
Так и задумано: подтверждение происходит на другом устройстве, на телефоне. Мессенджер не обязан быть установлен там, откуда пользователь входит — именно этим сценарий отличается от встроенных кнопок входа мессенджеров, где приложение и мессенджер должны быть на одной машине. Вход на том же устройстве тоже поддерживается, но это запасной путь, а не основной.Дальше
Привязка канала
Тем же действием получить живой канал для уведомлений.
Полный поток OIDC
Что происходит между authorize и token.