🔐 pbAuth
pbAuth — вход, регистрация, восстановление пароля и профиль пользователя для сайтов на PageBlocks 3.x. Поверх учётных записей MODX: своей таблицы пользователей компонент не заводит и не подменяет modUser.
📖 Документация pbAuth живёт на своём сайте
- pbauth.pageblocks.pro — установка, шаблоны, файл настроек, вход через соцсети, второй фактор, справочник.
- 🎬 Демо — формы на живом сайте.
Эта страница отвечает только на один вопрос: нужен ли мне этот компонент. Как им пользоваться — написано там, и только там, чтобы эти два текста не могли разойтись.
⚙️ Что он делает
- 🔑 Регистрация с подтверждением почты и повторной отправкой ссылки
- 🚪 Вход по логину, почте или телефону
- 🔁 Восстановление и смена пароля, подтверждение пароля перед опасным действием
- 👤 Профиль с редактируемыми полями и аватаром
- 🌐 Вход через шесть соцсетей — Google, Яндекс, Mail.ru, Telegram, GitHub, Facebook
- 🔢 Второй фактор — вход по одноразовому коду, с резервными кодами
- 🕵️ Вход менеджера под пользователем и обратно
- 👥 Добавление пользователей в группы при регистрации
- 🚦 Режим «один вход на учётную запись»
- ✅ Валидация, показ ошибок и flash-сообщения через Fenom, защита от CSRF
🧩 Что ваше, а что компонента
Это та часть, которую стоит знать до покупки: от неё зависит, переживёт ли ваша работа обновление.
Вёрстка ваша. Двадцать чанков форм и шаблоны-обёртки кладутся при установке в core/App/elements/auth/ и с этого момента принадлежат сайту. Ни обновление, ни удаление не трогают файл, который вы правили. Так же устроен и файл настроек core/App/config/pbauth.php. Обратная сторона того же: правки поставочной вёрстки в правленый вами файл тоже не попадают — обновление называет его в логе, а сверять приходится руками.
Код — компонента. Контроллеры и маршруты лежат внутри core/components/pbauth/ и обновляются вместе с ним. Поведение — шаблоны, правила проверки, редиректы, группы и даже подмена контроллера — меняется через файл настроек, а не правкой кода на месте.
Маршрутизация должна быть включена
Настройка pageblocks_routing должна стоять в Route Only или Full API. На значении по умолчанию /login и /register отвечают «страница не найдена», и выглядит это ровно так, будто пакет не установился.