WebAuthn Беспарольная аутентификация в Joomla 4. Проведение тестирования

  1. Тест 1: Кнопки входа в систему
  2. Тест 2: WebAuthn не может быть использован, если не зарегистрирован аутентификатор
  3. Тест 3: Регистрация аутентификатора из бэкенда
  4. Тест 4: Переименование аутентификатора
  5. Тест 5: Удаление аутентификатора
  6. Тест 6: Повторение тестов 3, 4 и 5 для фронтенда
  7. Тест 7: Вход на фронтенд с помощью mod_login
  8. Тест 8: Вход на фронтенд, com_users
  9. Тест 9: Вход в бэкэнд
  10. Тест 10: Использование нескольких аутентификаторов (опционально)


Тест 1: Кнопки входа в систему.

Выйдите из фронтенда и бэкенда веб-сайта.

Перейдите на главную страницу фронтенда сайта и посмотрите на модуль входа в систему. Там должна быть кнопка "Веб-аутентификация" (Web Authentication) под флажком "Запомнить меня" (Remember Me).

Перейдите на главную страницу пользователя сайта (/index.php/component/users/login). Там должна появиться кнопка "Веб-аутентификация" (Web Authentication) под флажком "Запомнить меня" (Remember Me).

Перейдите на backend сайта (/administrator/index.php). Там должна появиться кнопка "Веб-аутентификация" (Web Authentication) под флажком "Запомнить меня" (Remember Me).

Тест 2: WebAuthn не может быть использован, если не зарегистрирован аутентификатор.

Выйдите из фронтенда и бэкенда веб-сайта.

Перейдите на главную страницу фронтенда сайта и найдите модуль входа в систему.

Введите свое имя пользователя, но НЕ пароль.

Нажмите на кнопку "Веб-аутентификация" (Web Authentication).

Ожидается: сообщение об ошибке, что имя пользователя не существует или не связано с WebAuthn.

Тест 3: Регистрация аутентификатора из бэкенда.

Войдите в админку веб-сайта, используя свое имя пользователя и пароль.

Перейдите в раздел "Пользователи" (Users), "Управление" (Manage) и нажмите на свое имя пользователя.

Перейдите на вкладку "W3C Web Authentication (WebAuthn) Login".

Нажмите на большую зеленую кнопку "+ Добавить новый аутентификатор" (+ Add New Authenticator) и подключите свой аутентификатор. Обратите внимание, что запрос на использование аутентификатора зависит от конкретного браузера.

Ожидается: Вы увидите новый аутентификатор, появившийся в списке над зеленой кнопкой. Нет необходимости нажимать кнопку "Сохранить и закрыть" (Save & Close); назначение аутентификатора было (и должно быть, по серьезным соображениям безопасности) сохранено во время предыдущего взаимодействия.

Тест 4: Переименование аутентификатора.

Войдите в админку веб-сайта, используя свое имя пользователя и пароль.

Перейдите в раздел "Пользователи" (Users), "Управление" (Manage) и нажмите на свое имя пользователя.

Перейдите на вкладку "W3C Web Authentication (WebAuthn) Login".

Найдите аутентификатор, который был создан ранее, и нажмите на кнопку "Редактировать имя" (Edit Name) рядом с ним.

Ожидается: Имя станет редактируемым текстовым полем с кнопками "Сохранить"(Save) и "Отменить"(Cancel) рядом с ним.

Нажмите кнопку "Отменить" (Cancel) рядом с текстовым полем.

Ожидается: старое имя остается.

Снова нажмите кнопку "Редактировать имя" ("Edit Name"). На этот раз введите новое имя и нажмите кнопку "Сохранить" (Save) рядом с текстовым полем.

Ожидается: новое имя сохранится.

Тест 5: Удаление аутентификатора.

Войдите в админку сайта, используя свое имя пользователя и пароль.

Перейдите в раздел "Пользователи" (Users), "Управление" (Manage) и нажмите на свое имя пользователя.

Перейдите на вкладку "W3C Web Authentication (WebAuthn) Login".

Найдите аутентификатор, который был создан ранее, и нажмите на кнопку "Удалить" (Remove) рядом с ним.

Ожидается: аутентификатор отсутствует.

Также повторите тест 2 и убедитесь, что вы по-прежнему получаете ожидаемое сообщение.

Тест 6: Повторение тестов 3, 4 и 5 для фронтенда.

Войдите в систему админку сайта, используя свое имя пользователя и пароль.

Перейдите на страницу редактора профиля пользователя (/index.php?option=com_users&view=profile). Обратите внимание, что если попытаться использовать пункты меню образца данных Joomla, такие как "Ваш профиль" (Your Profile), это не сработает. Это ошибка в образце данных, которая не имеет отношения к данному PR ( это происходит при установке с нуля текущей ветки разработки Joomla 4).

Нажмите на ссылку Edit Profile (Редактировать профиль) в правом верхнем углу основной области содержимого и найдите область "W3C Web Authentication (WebAuthn) Login" в нижней части области содержимого страницы.

Выполните тесты 3, 4 и 5, заменив первые три инструкции каждого теста на первые три инструкции теста 6.

Тест 7: Вход на фронтенд с помощью mod_login.

Снова выполните тест 3. Теперь у вас есть аутентификатор, зарегистрированный для вашей учетной записи пользователя.

Перейдите во фронтенд сайта и найдите модуль Login (Вход).

Если вы уже вошли в систему, нажмите на Logout (Выход), чтобы выйти с сайта.

Введите свое имя пользователя, но НЕ пароль.

Нажмите на кнопку "Веб-аутентификация" (Web Authentication) в модуле Login (Вход).

Ожидается: браузер попросит вас взаимодействовать с вашим аутентификатором. Обратите внимание, что запрос на взаимодействие с аутентификатором специфичен для вашего браузера и отображается им.

Взаимодействуйте со своим аутентификатором в соответствии с запросом.

Ожидается: вы вошли во фронтенд своего сайта.

Тест 8: Вход на фронтенд, com_users.

Убедитесь, что для вашей учетной записи пользователя зарегистрирован аутентификатор. Если нет, выполните тест 3 еще раз.

Перейдите на страницу входа во фронтенд (/index.php/login). Обратите внимание, что если попробовать использовать пункты меню из образца данных Joomla, то они не будут работать. Это ошибка в образце данных, которая не имеет отношения к данному PR (это происходит при установке с нуля текущей ветки разработки Joomla 4).

Если вы уже вошли в систему, нажмите на Logout (Выход), чтобы выйти с сайта.

Введите свое имя пользователя, но НЕ пароль.

Нажмите на кнопку "Веб-аутентификация" (Web Authentication) в модуле Login (Вход).

Ожидается: браузер попросит вас взаимодействовать с вашим аутентификатором. Обратите внимание, что запрос на взаимодействие с аутентификатором специфичен для вашего браузера и отображается им.

Взаимодействуйте со своим аутентификатором в соответствии с запросом.

Ожидается: вы вошли во фронтенд своего сайта.

Тест 9: Вход в админку.

Убедитесь, что для вашей учетной записи пользователя зарегистрирован аутентификатор. Если нет, выполните тест 3 еще раз.

Перейдите на страницу входа в бэкэнд (/administrator).

Если вы уже вошли в систему, выйдите из нее.

Теперь у вас должна появиться страница входа в бэкэнд.

Введите свое имя пользователя, но НЕ пароль.

Нажмите на кнопку "Web Authentication" (Веб-аутентификация) в модуле Login (Вход).

Ожидается: ваш браузер попросит вас взаимодействовать с вашим аутентификатором. Обратите внимание, что запрос на взаимодействие с аутентификатором специфичен для вашего браузера и отображается им.

Взаимодействуйте со своим аутентификатором в соответствии с запросом.

Ожидается: вы вошли в админку своего сайта.

Тест 10: Использование нескольких аутентификаторов (опционально).

Повторите тест 3 столько раз, сколько необходимо для подключения нескольких аутентификаторов к вашей учетной записи Super User.

Повторите тесты 7, 8 и 9 по одному разу для каждого аутентификатора, который был зарегистрирован. Теперь вы должны быть в состоянии войти на свой сайт с помощью любого из ваших аутентификаторов.

Важно! Не все аутентификаторы поддерживаются во всех браузерах. Например, можно зарегистрировать программный аутентификатор Krypton и биометрический аутентификатор Touch ID / Windows Hello / в браузере Chrome, но вы не сможете использовать ни один из них, например, в Firefox. Это НЕ ошибка в PR; это ограничение браузера. Идея регистрации нескольких аутентификаторов заключается в том, что для поддержки всех устройств вам может понадобиться несколько физических аутентификаторов, например, Touch ID для служебного MacBook Pro, аппаратный ключ USB для личного настольного ПК и аппаратный ключ NFC для устройства Android. Если бы не эта столь необходимая гибкость, можно было бы разрешить использовать только один аутентификатор для каждой учетной записи пользователя.


Перевод с английского официальной документации разработчиков Joomla 4:
https://github.com/joomla/joomla-cms/pull/28094

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню