> ## Documentation Index
> Fetch the complete documentation index at: https://veriqa.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Joomla

> Вход в Joomla 5 через Veriqa на miniOrange OAuth Client: три грабли установки, галочка «In Header» и главное ограничение — коммерческое, а не техническое.

Joomla входит через Veriqa на плагине miniOrange OAuth Client. Техника чистая — правок кода не
требуется вообще. Ограничение здесь другое: **бесплатная версия не создаёт пользователей**.

<Note>
  Проверено: Joomla 5 + miniOrange OAuth Client 3.2.0 (free); канал Telegram. Работает вход
  **в существующую учётную запись**. Автосоздание пользователей в бесплатной сборке отсутствует.
</Note>

<Warning>
  **Главное ограничение — коммерческое.** Незнакомому пользователю бесплатная версия показывает
  «User Auto-Creation Not Available in Current Plugin Version» со ссылкой на апгрейд. Кода
  создания учётной записи в ней нет вообще — только поиск существующей по
  `email = X OR username = Y`.

  Значит бесплатно доступен **не тот сценарий**, что на WordPress и Drupal: там мессенджер
  закрывает регистрацию с нуля, здесь — только вход в учётки, заведённые администратором.
</Warning>

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

Ставится 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.`). Формат
значения при этом не проверяется вовсе — требование про **непустое значение**, а не про почтовый
адрес.

<Warning>
  **`email_attr` портит учётную запись.** Плагин при каждом входе перезаписывает email аккаунта
  значением из маппинга, без проверки формата. Если сопоставить поле с `sub`, в `joom_users` вместо
  `alice@veriqa.invalid` окажется `telegram:123456789`, после чего сброс пароля и уведомления
  перестанут работать.

  Корректного значения для Telegram **не существует**: адреса он не даёт. Штатный способ
  разрулить это — платная версия с attribute mapping.
</Warning>

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

Доступны Configuration и Logger. Недоступны автосоздание пользователей, attribute и role mapping,
advanced login.

Проверено с каналом **Telegram**; Joomla с Email, WhatsApp и MAX не проверялась.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.