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



Аутентификация без пароля с помощью W3C Web Authentication (WebAuthn).

Pull Request для новой функциональности: Аутентификация без пароля с помощью W3C Web Authentication (WebAuthn)

Этот PR заменяет неудачный PR gh-25797 и содержит следующие изменения:

  1. Файлы EcmaScript 6 (ОБЯЗАТЕЛЬНО!) теперь проходят проверку стиля кода. Кроме того, было достигнуто устное соглашение с @wilsonge и @HLeithner о слиянии, даже если ES6 нуждается в небольшой доработке и рефакторинге, поскольку это может быть исправлено даже после бета-версии без негативных последствий для обратной совместимости.
  2. Обновленный бэкенд. Обновилась библиотека 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 включен.


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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:

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