Проверено: Joomla 5 + miniOrange OAuth Client 3.2.0 (free); канал Telegram. Работает вход
в существующую учётную запись. Автосоздание пользователей в бесплатной сборке отсутствует.
Установка и настройка
Ставится miniOrange OAuth Client 3.2.0 (GPLv2, J3–J6). Zip качается прямой ссылкой, аккаунт miniOrange не нужен. Открытая альтернативаdamyvv/openidconnect-joomla мертва — последний
коммит 2023 года, Joomla 5 она не видела.
- Установить пакет.
- Включить плагин
PLG_SYSTEM_MINIORANGEOAUTH— он приходит выключенным. - Configuration → провайдер Custom OpenID Connect App →
client_id,client_secret, три эндпоинта, scopes. - Снять галочку «In Header» в блоке «Set Client Credentials».
redirect_uri у Joomla 4+ — маршрут веб-сервиса, а не страница сайта:
{сайт}/api/index.php/v1/miniorangeoauth. Ссылка входа — тот же путь с
?morequest=oauthredirect&app_name=openidconnect.
Три грабли установки
- Установка врёт. Рядом появляются
Can't find XML setup file(warning) иInstallation successful. Ставится всё нормально — предупреждение относится к промежуточному архиву внутри пакета. - Системный плагин выключен после установки. Без него вход не работает, и в интерфейсе это не бросается в глаза.
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.). Формат
значения при этом не проверяется вовсе — требование про непустое значение, а не про почтовый
адрес.