> ## 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.

# Veriqa в CMS

> Что именно проверено на WordPress, Drupal, TYPO3, Joomla и Битриксе, чем движки отличаются по требованию email и какие есть ограничения.

Veriqa встраивается в CMS как обычный OpenID Connect провайдер, и CMS подключаются **без изменений
на стороне Veriqa**. Всё, что нужно, живёт на стороне интегратора — от файла в шесть строк у
WordPress до провайдера `socialservices` у Битрикса.

## Что проверено

| Движок | Что работает |
| - | - |
| [WordPress](/docs/ru/integrations/wordpress) 6 + `openid-connect-generic` 3.11.3 | вход, создание пользователя, проверка подписи по JWKS |
| [Drupal](/docs/ru/integrations/drupal) 10 + `openid_connect` 3.0.0-alpha8 | вход, создание пользователя, **подпись по JWKS + nonce + PKCE S256** |
| [TYPO3](/docs/ru/integrations/typo3) 13.4.34 + `causal/oidc` 5.0.0 | вход, создание `fe_user` и сессия, связывание по `sub` |
| [Joomla](/docs/ru/integrations/joomla) 5 + miniOrange OAuth Client 3.2.0 | вход **в существующую** учётку; автосоздание платное |
| [Битрикс](/docs/ru/integrations/bitrix) «Бизнес» + провайдер `socialservices` | вход, автосоздание, связывание, кнопка в штатной форме |

Подпись `id_token` Veriqa по JWKS проверили и приняли два независимых клиента — Drupal и
WordPress.

## Клиент должен быть confidential

Общее требование ко всем пяти движкам: регистрируйте клиента **с секретом**. Такому клиенту
Veriqa разрешает работать без PKCE, и именно это делает возможной работу с коробочными плагинами.
Public-клиент без PKCE получает отказ, `plain` не принимается ни от кого.

## Email — место, где рецепт одного движка не переносится на другой

Telegram email не отдаёт и не отдаст, а движки относятся к его отсутствию по-разному. Утверждение
«CMS требует email при регистрации» неверно сразу для трёх строк таблицы:

| Движок | Требует email | У кого | Где это решается |
| - | - | - | - |
| Drupal | да, жёстко | у обоих — существующий тоже не войдёт | хардкод, выключателя нет |
| Joomla | да, жёстко | на каждом входе | хардкод плагина, формат не проверяется |
| Битрикс | по умолчанию да | только у нового | отключается `main.new_user_email_required` |
| WordPress | нет | — | пользователь создаётся с пустым адресом |
| TYPO3 | нет | — | email вне дефолтного маппинга |

Где адрес обязателен, а канал его не даёт, применяется синтетический адрес вида
`{канал}-{id}@{канал}.veriqa.invalid`. Домен `.invalid` зарезервирован
[RFC 2606](https://www.rfc-editor.org/rfc/rfc2606) и никуда не доставляется — **учётная запись с
ним не получит ни уведомлений, ни восстановления пароля**. Это развилка для интегратора (спросить
адрес вторым шагом, использовать канал Email), а не готовое решение.

## Ограничения

* **каналы, кроме Telegram**: WordPress, Drupal, Joomla и TYPO3 проверены только на нём. Связка
  «CMS + Email» проверена целиком **только на Битриксе**; WhatsApp и MAX с CMS не проверялись;
* **публичное развёртывание** с реальным доменом и валидным сертификатом не проверялось. Оно
  снимает локальные препятствия (самоподписанный CA, приватный issuer) — см.
  [Локальная проверка](/docs/ru/integrations/local-testing).

Про системы, которые не являются CMS — GitLab, Keycloak, Grafana, Nextcloud — отдельная страница:
[Veriqa в рабочих системах](/docs/ru/integrations/apps). SaaS-конструкторы (Shopify, Wix) подключаются
через собственные настройки SSO платформы: см. [SaaS-конструкторы](/docs/ru/integrations/saas-builders).


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