- Аутентификация без пароля с помощью W3C Web Authentication (WebAuthn)
- Краткое описание изменений для Joomla 4
- Замечания по подготовке и установке в Joomla 4
Аутентификация без пароля с помощью W3C Web Authentication (WebAuthn).
Pull Request для новой функциональности: Аутентификация без пароля с помощью W3C Web Authentication (WebAuthn)
Этот PR заменяет неудачный PR gh-25797 и содержит следующие изменения:
- Файлы EcmaScript 6 (ОБЯЗАТЕЛЬНО!) теперь проходят проверку стиля кода. Кроме того, было достигнуто устное соглашение с @wilsonge и @HLeithner о слиянии, даже если ES6 нуждается в небольшой доработке и рефакторинге, поскольку это может быть исправлено даже после бета-версии без негативных последствий для обратной совместимости.
- Обновленный бэкенд. Обновилась библиотека WebAuthn до версии 2.1. Теперь будет использоваться эта версия, потому что сторонние библиотеки вносят b/c сбои в младших версиях :(
Краткое описание изменений для Joomla 4.
Этот PR добавляет поддержку WebAuthn (W3C Web Authentication). Это стандарт W3C, который становится официальным в марте 2019 года.
WebAuthn позволяет пользователям безопасно аутентифицироваться (входить) на сайт без использования пароля. Вместо этого он использует аутентификаторы. Аутентификатор - это либо отдельное аппаратное устройство, либо модуль доверенной платформы (TPM) / Secure Enclave, встроенный в устройство пользователя. Более того, он работает только под HTTPS. Использование защищенного оборудования и защищенного транспорта обеспечивает устойчивость аутентификации к подслушиванию, фишингу, перебору и другим атакам, связанным с фиксированными паролями.
Прежде чем продолжить, пожалуйста, уделите минуту времени, чтобы узнать больше о WebAuthn и потренироваться с ним.
Замечания по подготовке и установке в Joomla 4.
Ниже приведена подборка ошибок для процесса сборки Joomla 4, которые не имеют отношения к данному PR, но могут помешать при тестировании. Потратив время, здесь приведен обобщенный опыт, чтобы избавить других пользователей от страданий. :)
После слияния этого PR с локальной веткой Joomla 4.0-dev (или клонирования репозитория, из которого он взят) необходимо запустить composer install
и npm install
. Если этого не сделать, будут отсутствовать PHP-зависимости и JS-файлы, и все это приведет к сбою.
Если npm install
не работает, необходимо удалить папки node_modules
и administrator/components/com_media/node_modules
. Затем можно снова запустить npm install
.
Joomla не загрузится после установки, если запустить composer install
. Возникнет загадочная ошибка об отсутствующих активах Atum и/или отсутствующих классах. Это не ошибка в данном PR, это "особенность" процесса сборки Joomla 4. Требуется удалить файл libraries/autoload_psr4.php
. После этого сайт волшебным образом заработает.
FWIW, эти проблемы в настоящее время исправляются кем-то другим.
Если будете применять этот PR на действующем сайте разработки Joomla 4, пожалуйста, не забудьте не только выполнить вышеописанные шаги, но и перейти в раздел Система (System), Исправить базу данных (Fix Database). Затем вам нужно будет использовать Discover, чтобы найти и установить плагин. Наконец, убедитесь, что плагин System - WebAuthn Passwordless Login включен.
- «WebAuthn в Joomla 4. Беспарольный вход в систему»
- «Общие сведения о WebAuthn Беспарольной аутентификации в Joomla 4»
- «WebAuthn Беспарольная аутентификация в Joomla 4. Инструкции по проведению тестирования»
- «WebAuthn Беспарольная аутентификация в Joomla 4. Проведение тестирования»
- «WebAuthn Беспарольная аутентификация в Joomla 4. Важные замечания от разработчиков.»
- «WebAuthn Беспарольная аутентификация в Joomla 4. Часто задаваемые вопросы (FAQ) и дополнительная информация.»
Перевод с английского официальной документации разработчиков Joomla 4:
https://github.com/joomla/joomla-cms/pull/28094
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)