1С Битрикс · 6 мин чтения

Регистрация пользователей Битрикс: как настроить вход и авторизацию на сайте

Регистрация пользователей Битрикс настраивается через штатные опции модуля «Главный модуль», но на практике готовая форма редко устраивает заказчика в исходном виде. Кому-то нужна модерация новых аккаунтов, кому-то вход через Госуслуги для 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, через который работает вход по ЕСИА, входит в редакции «Стандарт» и выше, в «Старт» его нет - если сайт стоит на минимальной редакции, авторизацию через Госуслуги без обновления лицензии не подключить.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно