Аутентификация в мобильном приложении с использованием ПИН-кода или биометрических данных
Описание
RooX UIDM позволяет реализовать в мобильном приложении сценарии аутентификации с использованием ПИН-кода и/или биометрическим данным, используя механизм долгоживущих идентификационных токенов.
Примечание
|
Описанная далее функциональность аутентификации с использованием биометрических данных предполагает использование биометрических средств мобильных устройств, на которых работает мобильное приложение. Мобильное приложение не является частью RooX UIDM. В RooX UIDM реализованы и другие механизмы для работы с биометрическими данными; обратитесь в RooX для получения дополнительной информации. |
Сценарий аутентификации в мобильном приложении с использованием ПИН-кода или биометрических данных
Аутентификация пользователя по ПИН-коду или биометрии реализуется по следующему сценарию:
Примечание
|
Реализация сценария на стороне мобильного приложения может отличаться и остается на усмотрение разработчиков мобильного приложения. |
-
Пользователь первый раз запускает мобильное приложение. Приложение запрашивает логин и пароль, пользователь вводит их, приложение направляет данные в RooX UIDM.
-
RooX UIDM, если логин и пароль верны, выдает токен доступа приложению, а также дополнительно долгоживущий идентификационный токен (JWT). JWT-токен НЕ сохраняется на стороне RooX UIDM; он представляет собой зашифрованную строку в формате JSON, внутри которой, помимо прочего, хранятся идентификатор (principalId пользователя) и время жизни токена.
-
Мобильное приложение запрашивает у пользователя ПИН-код и/или биометрические данные, использует их для шифрования полученного JWT-токена и сохраняет результат в хранилище на мобильном устройстве.
-
Когда пользователь в следующий раз выполняет попытку аутентификации с использованием ПИН-кода или биометрических данных, мобильное приложение загружает токен из хранилища и расшифровывает его с использованием введенного ПИН-кода или биометрических данных.
-
Мобильное Приложение направляет в RooX UIDM запрос на аутентификацию, передавая JWT-токен.
-
RooX UIDM расшифровывает JWT-токен, проверяет, не истек ли срок его действия, находит в БД учетную запись пользователя по principalID пользователя и аутентифицирует его.
-
RooX UIDM возвращает успешный ответ в Мобильное приложение. Если на предыдущем шаге произошла ошибка (например, токен более недействителен), то RooX UIDM передает в мобильное приложение сведения о другом доступном способе аутентификации для продолжения сценария (например, запрашивает ввод логина и пароля)
Компоненты, необходимые для работы функциональности аутентификации в мобильном приложении с использованием ПИН-кода или биометрических данных
Является частью стандартной функциональности RooX UIDM, не требует установки дополнительных компонент
Включение функциональности аутентификации в мобильном приложении с использованием ПИН-кода или биометрических данных
Функциональность не требует специального включения, но в sso-server должны быть настроены ключи для шифрования токенов.