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: Использование нескольких аутентификаторов (опционально)

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Тест 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

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

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