Регистрация пользователей Битрикс настраивается через штатные опции модуля «Главный модуль», но на практике готовая форма редко устраивает заказчика в исходном виде. Кому-то нужна модерация новых аккаунтов, кому-то вход через Госуслуги для B2G-проекта, кому-то просто убрать капчу, которая режет конверсию регистрации на 15-20%. Разберу настройку по порядку, от базовых опций до кастомных полей и обработчиков событий.
Как включить регистрацию пользователей в Битрикс
Базовые настройки лежат в разделе Настройки - Настройки продукта - Авторизация. Там три ключевых чекбокса, от которых зависит поведение всей системы:
- «Разрешить регистрацию новых пользователей» - без него на сайте вообще нет формы регистрации, только служебный вход для админов;
- «Подтверждение регистрации по email» - пользователь получает письмо со ссылкой активации и не может войти, пока не перейдёт по ней;
- «Требовать модерацию для новых пользователей» - аккаунт создаётся, но остаётся неактивным до ручного одобрения администратором в разделе Пользователи.
По умолчанию новый пользователь попадает в группу «Все пользователи (авторизованные)» - права там минимальные, обычно read-only на инфоблоки. Если сайт продаёт что-то через личный кабинет, группу нужно расширять отдельно в разделе Пользователи - Группы пользователей, иначе клиент зарегистрируется и упрётся в «доступ запрещён» на первой же странице заказа.
На моей практике связка «подтверждение по email + без модерации» подходит 80% интернет-магазинов на Битрикс: спам-регистраций мало, а живой пользователь получает доступ сразу после клика по письму. Модерацию включаю только когда на сайте B2B-логика и нужно вручную проверять, что человек действительно из компании-партнёра.
Настройка авторизации пользователей: форма входа и сессии
За авторизацию отвечает компонент bitrix:system.auth.form (в шапке) и bitrix:system.auth.authorize (отдельная страница). Время жизни сессии задаётся не в компоненте, а в настройках модуля - там же, где регистрация, есть поле «Время жизни куки для авторизации», по умолчанию это несколько часов, но для интернет-магазина обычно ставлю 30 дней плюс включаю «Разрешить пользователю сохранять авторизацию на этом компьютере».
Капча на форме входа и регистрации подключается через модуль captcha - он снижает число ботов-регистраторов, но на реальном трафике я видел падение конверсии формы на треть, если капча показывается всегда, а не только после нескольких неудачных попыток. В настройках безопасности есть гибче вариант - показ капчи после N неверных попыток входа, это нагружает ботов, но не мешает живым пользователям с первого раза.
Отдельная тема - смена пароля и восстановление доступа. Компонент bitrix:system.auth.forgotpasswd отправляет письмо со ссылкой смены пароля, срок действия ссылки регулируется константой в настройках модуля. Если у клиента строгие требования по безопасности (финансовый сектор, персональные данные), добавляю проверку сложности пароля через событие OnBeforeUserRegister - штатной валидации сложности в коробке нет.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Права и группы пользователей после регистрации
Группа, в которую попадает новый пользователь, задаётся в настройках модуля («Группа пользователей по умолчанию») и это одна из вещей, которую забывают проверить чаще всего. Если группа не назначена или назначена «Все пользователи», а инфоблок с личным кабинетом требует прав другой группы, пользователь после регистрации видит пустую страницу без единой ошибки в логе - разбираться приходится через отладку прав вручную.
Для интернет-магазинов обычно завожу отдельную группу «Покупатели» с правами на инфоблок заказов и историю покупок, а модерацию делаю через дополнительную группу «На проверке» - пока администратор не переведёт пользователя вручную (или через агент по расписанию), доступ к разделу заказов закрыт. Такая схема прозрачнее штатной модерации, потому что видно, кто именно ожидает подтверждения, прямо в списке пользователей с фильтром по группе.
Таблица: типовые сценарии настройки доступа
| Сценарий | Модерация | Подтверждение email | Группа по умолчанию |
|---|---|---|---|
| Розничный интернет-магазин | Выключена | Включено | Покупатели |
| B2B-портал с проверкой контрагента | Включена | Включено | На проверке |
| Внутренний корпоративный портал | Включена вручную HR | Не требуется (домен ограничен) | Сотрудники |
| Сайт с закрытым контентом (подписка) | Выключена | Включено | Подписчики |
Авторизация через соцсети и Госуслуги
OAuth-вход настраивается в разделе Настройки - Сервисы - Настройки авторизации. Каждый провайдер требует зарегистрированное приложение на стороне сервиса и пару App ID / Secret key, которые вставляются в соответствующую вкладку.
| Провайдер | Что получить заранее | Где регистрировать приложение |
|---|---|---|
| ВКонтакте | ID приложения, защищённый ключ | vk.com/apps?act=manage |
| Госуслуги (ЕСИА) | Mnemonic системы, сертификат | Личный кабинет технической поддержки ЕСИА |
| Яндекس | ID приложения, пароль приложения | oauth.yandex.ru |
| Mail.ru | Site ID, Client Secret | api.mail.ru/sites/my |
Госуслуги отдельно стоит того, чтобы предупредить заранее: подключение требует юрлица, СНИЛС ответственного и защищённого канала (обычно через СКЗИ или посредника вроде Ростелекома), процесс согласования занимает от 2 до 4 недель, а не «пары кликов», как остальные провайдеры. Закладывайте это время в план проекта, если авторизация через Госуслуги обязательна по ТЗ.
После успешной OAuth-авторизации Битрикс создаёт стандартного пользователя и привязывает к нему внешний ID через модуль socialservices - дальше с ним можно работать теми же событиями и группами, что и с обычной регистрацией.
Кастомизация формы регистрации: поля и обработчики событий
Штатная форма регистрации собирается компонентом bitrix:main.register, а дополнительные поля добавляются в разделе Настройки - Настройки продукта - Поля пользователей. Если полей мало (телефон, компания, город), их проще добавить как UF-поля и включить в шаблон компонента, скопированный в local/components.
Для более сложной логики - проверка домена почты, интеграция с внешней CRM, отправка уведомления администратору в Telegram при новой регистрации - использую события OnBeforeUserRegister и OnAfterUserRegister в файле init.php:
AddEventHandler('main', 'OnAfterUserRegister', 'notifyAdminOnRegister');
function notifyAdminOnRegister($arFields)
{
$userId = $arFields['USER_ID'];
$email = $arFields['EMAIL'];
$webhookUrl = 'https://your-n8n-instance.ru/webhook/new-user';
$data = json_encode(['user_id' => $userId, 'email' => $email]);
$ch = curl_init($webhookUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
}
Такой обработчик отправляет вебхук в n8n, а дальше сценарий в n8n может завести карточку в CRM, отправить уведомление в Telegram-бот на aiogram или продублировать данные в почту отдела продаж - без переписывания кода на стороне Битрикса при каждом изменении логики уведомлений. Похожий подход я использую и для сайтов на Tilda, только там вебхук вешается на сабмит формы, а не на событие движка.
Если нужна доработка формы регистрации под конкретный процесс продаж или интеграция с внешним сервисом, я беру такие задачи на разработку и поддержку сайтов на Битрикс - от точечных правок компонента до полной переработки личного кабинета.
Частые ошибки при настройке регистрации и авторизации
Самая частая проблема - забытая группа по умолчанию, из-за которой пользователь регистрируется, но не видит личный кабинет. Вторая по частоте - включённая капча без порога попыток, которая режет конверсию формы регистрации без видимой причины в аналитике, пока не сравнишь воронку до и после её отключения.
Третья ошибка - хранение письма подтверждения на почтовом сервере с плохой репутацией, из-за чего письма с активационной ссылкой падают в спам у половины пользователей на mail.ru и Яндексе. Проверяю это через SPF, DKIM и DMARC записи домена отправителя ещё на этапе настройки почтового события.
Отдельно стоит проверить время жизни сессии после смены пароля - штатно Битрикс не завершает принудительно все активные сессии пользователя при смене пароля через восстановление, если это не включено отдельно в настройках безопасности. Для проектов с повышенными требованиями к защите данных это нужно проверять руками, а не полагаться на дефолтные настройки коробки.
Чтобы сайт работал без сбоев
Техподдержка
от 15 000 ₽/мес
Подробнее →Частые вопросы
Можно ли отключить капчу только для формы входа, но оставить для регистрации?
Да, капча подключается отдельно к каждому компоненту через параметры USE_CAPTCHA в настройках bitrix:system.auth.form и bitrix:main.register, поэтому для входа её можно выключить, а для регистрации оставить как защиту от массового создания ботами фейковых аккаунтов.
Как перенести пользователей с другого сайта в Битрикс без повторной регистрации?
Импорт делается через CUser::Add в цикле по выгруженным данным, пароли при этом нельзя перенести напрямую - для них либо генерируется временный пароль с обязательной сменой при первом входе, либо используется хеш пароля из старой системы, если алгоритм хеширования совпадает с тем, что использует Битрикс.
Почему пользователь после подтверждения email не может войти в личный кабинет?
Чаще всего дело в группе по умолчанию без нужных прав на инфоблок кабинета, реже - в том, что модерация осталась включённой, но администратор не увидел уведомление и не одобрил аккаунт вручную в разделе Пользователи.
Нужна ли отдельная лицензия Битрикс для авторизации через Госуслуги?
Модуль socialservices, через который работает вход по ЕСИА, входит в редакции «Стандарт» и выше, в «Старт» его нет - если сайт стоит на минимальной редакции, авторизацию через Госуслуги без обновления лицензии не подключить.