Вход с помощью одноразовых кодов из SMS/push#
Для входа по первому фактору аутентификации можно использовать отправляемые в мобильное приложение push-уведомления или SMS-сообщения.
Если при входе по номеру телефона пользователь не найден, то можно для этого пользователя инициировать регистрацию учетной записи.
Шаг 1. Настройка метода входа#
Для использования кодов подтверждения:
Настройте и включите метод аутентификации Вход по коду из SMS/push. Необходимо настроить:
способ идентификации учетной записи – задать регулярное выражение. Например, правило
phone_number=${login}означает, что введенное пользователем значение в форме входа будет сопоставлено с атрибутомphone_number;длину кода подтверждения;
время действия кода подтверждения;
количество попыток ввода кода подтверждения за 1 вход;
общее количество попыток (число отправок кодов и попыток ввода кода, после чего для пользователя будет временно заблокирован данный способ аутентификации);
время блокировки при превышении попыток (в минутах);
способы отправки кода:
отправлять push-уведомление – нужно указать атрибут с номером мобильного телефона или иным необходимым сервису идентификатором пользователя, например,
${phone_number};отправлять SMS – указать атрибут с номером мобильного телефона пользователя, например,
${phone_number};
правило выбора хранилища атрибутов для поиска введенного пользователем телефона.
Настройте подключение Blitz Identity Provider к SMS-шлюзу и сервису отправки push-уведомления.
Шаг 2. Включение регистрации#
Для того, чтобы инициировалась регистрация учетной записи, если при входе по номеру телефона пользователь не найден:
Откройте файл
blitz.conf.В секцию
login.methods.sms.profiles.${factor}добавьте блокreg:"reg" : { "mapping" : [ { "attr" : "mobile", "useForParsing" : true, "value" : "${mobile}" }, { "attr" : "surname", "useForParsing" : false, "value" : "${mobile}" } ], "regUserIfNotFound" : true }
Поставьте значение поля
regUserIfNotFoundравнымtrue.В блоке
mappingнастройте правила сопоставления атрибутов при регистрации.Если необходимо использовать регулярные выражения, поставьте
useForParsing = true, при этомvalueвсегдаmobile.
Внимание
Обязательно, чтобы true стояло у одного единственного поля useForParsing.
Примечание
Рекомендуется назначать регулярное выражение для выбранного поля, чтобы номер телефона проверялся корректно.