После успешного прохождения 2FA с помощью стандартного токена можно выполнять остальные методы API.
Изменён метод /wa_users/login
Если для пользователя используется двухфакторная аутентификация, стандартная структура с токеном и его временем жизни будет содержать новое поле - is2FAPassed
Инициирует отправку кода подтверждения в сторону пользователя с использованием настроенного на стороне бэка метода.
Добавлен метод /wa_users/2FA/validate/
Выполняет проверку, что введённый пользователем код соответствует ранее отправленному.
Техническая реализация новых вариантов отправки
Чтобы реализовать новый вариант, нужно выполнить следующие шаги:
Создать новый общий модуль с произвольным названием
Созданный общий модуль должен реализовывать следующие методы:
ОтправитьКод
Реализует отправку кода и его сохранение в ИБ.
Параметры:
ФизическоеЛицо - СправочникСсылка.ФизическиеЛица - физ. лицо, которому будет отправлен код
Должен возвращать параметры в соответствии со структурой лксДвухфакторнаяАутентификацияОбщий.КодОтправленПараметры
ВведенКорректныйКод
Проверяет равен ли код ранее отправленному
Параметры:
ФизическоеЛицо - СправочникСсылка.ФизическиеЛица - физ. лицо, которое пытается пройти аутентификацию
ВведенныйКод - Число - 6 цифр TOTP-кода, введённого пользователем
Должен возвращать Булево в зависимости от результата проверки или Неопределено , если 2FA не начата.
Для служебных действий над кодом и статусом прохождения 2FA следует использовать методы области СлужебныйПрограммныйИнтерфейс общего модуля лксДвухфакторнаяАутентификацияОбщий .
Добавить созданный общий модуль в перечисление лксВариантыДвухфакторнойАутентификации
Новое значение перечисления должно отвечать следующий требованиям:
Имя значения - то, как общий модуль назван в конфигурации.
Синоним - осмысленное название варианта 2FA. Будет отобраться в пользовательском интерфейсе.