Skip to main content
Joomla входит через Veriqa на плагине miniOrange OAuth Client. Техника чистая — правок кода не требуется вообще. Ограничение здесь другое: бесплатная версия не создаёт пользователей.
Проверено: Joomla 5 + miniOrange OAuth Client 3.2.0 (free); канал Telegram. Работает вход в существующую учётную запись. Автосоздание пользователей в бесплатной сборке отсутствует.
Главное ограничение — коммерческое. Незнакомому пользователю бесплатная версия показывает «User Auto-Creation Not Available in Current Plugin Version» со ссылкой на апгрейд. Кода создания учётной записи в ней нет вообще — только поиск существующей по email = X OR username = Y.Значит бесплатно доступен не тот сценарий, что на WordPress и Drupal: там мессенджер закрывает регистрацию с нуля, здесь — только вход в учётки, заведённые администратором.

Установка и настройка

Ставится miniOrange OAuth Client 3.2.0 (GPLv2, J3–J6). Zip качается прямой ссылкой, аккаунт miniOrange не нужен. Открытая альтернатива damyvv/openidconnect-joomla мертва — последний коммит 2023 года, Joomla 5 она не видела.
  1. Установить пакет.
  2. Включить плагин PLG_SYSTEM_MINIORANGEOAUTH — он приходит выключенным.
  3. Configuration → провайдер Custom OpenID Connect App → client_id, client_secret, три эндпоинта, scopes.
  4. Снять галочку «In Header» в блоке «Set Client Credentials».
redirect_uri у Joomla 4+ — маршрут веб-сервиса, а не страница сайта: {сайт}/api/index.php/v1/miniorangeoauth. Ссылка входа — тот же путь с ?morequest=oauthredirect&app_name=openidconnect.

Три грабли установки

  1. Установка врёт. Рядом появляются Can't find XML setup file (warning) и Installation successful. Ставится всё нормально — предупреждение относится к промежуточному архиву внутри пакета.
  2. Системный плагин выключен после установки. Без него вход не работает, и в интерфейсе это не бросается в глаза.
  3. ID2087 при обмене кода. По умолчанию плагин шлёт учётные данные и заголовком Authorization: Basic, и в теле запроса, а RFC 6749 §2.3.1 разрешает только один способ. Лечится снятием галочки «In Header». Сообщение плагина «проверьте client id и secret» уводит не туда — дело не в них.

Email: требование есть, и жёстче, чем у Drupal

Плагин запрашивает email до поиска учётной записи, то есть на каждом входе, и обрывает вход в двух случаях: маппинг email_attr не задан («Login not Allowed. Attribute Mapping is empty») или задан, но атрибут приехал пустым ([MOOAUTH-008] : Email attribute is not received.). Формат значения при этом не проверяется вовсе — требование про непустое значение, а не про почтовый адрес.
email_attr портит учётную запись. Плагин при каждом входе перезаписывает email аккаунта значением из маппинга, без проверки формата. Если сопоставить поле с sub, в joom_users вместо alice@veriqa.invalid окажется telegram:123456789, после чего сброс пароля и уведомления перестанут работать.Корректного значения для Telegram не существует: адреса он не даёт. Штатный способ разрулить это — платная версия с attribute mapping.

Границы бесплатной версии

Доступны Configuration и Logger. Недоступны автосоздание пользователей, attribute и role mapping, advanced login. Проверено с каналом Telegram; Joomla с Email, WhatsApp и MAX не проверялась.