Вход через соцсети позволяет пользователям авторизоваться на сайте без ручной регистрации — по данным аккаунта VK, Google, Яндекс и других сервисов. В 1С-Битрикс за это отвечает модуль «Внешние сервисы авторизации» (socialservices), а сам обмен данными идёт по протоколу OAuth 2.0.
socialservices установлен в Настройки → Настройки продукта → Модули.Как работает вход через соцсети в Битрикс
Авторизация через соцсети в 1С-Битрикс строится на протоколе OAuth 2.0. Сайт не получает и не хранит пароль пользователя от соцсети — вместо этого происходит защищённый обмен токенами.
Упрощённо процесс выглядит так:
- Пользователь нажимает кнопку соцсети на странице авторизации.
- Его перенаправляет на сайт провайдера (VK, Google, Яндекс), где он подтверждает доступ.
- Провайдер возвращает пользователя на сайт с временным кодом (
code). - Модуль
socialservicesобменивает код наaccess_tokenи запрашивает профиль (имя, e-mail, аватар). - Битрикс ищет пользователя по внешнему идентификатору: если он найден — авторизует, если нет — создаёт новую учётную запись.
Для работы каждого провайдера нужно зарегистрировать приложение на его стороне и получить пару ключей — Client ID (идентификатор приложения) и Client Secret (защищённый ключ).
Включение и проверка модуля
Прежде всего убедитесь, что модуль внешних сервисов авторизации установлен и активен.
- Перейдите в Настройки → Настройки продукта → Модули.
- Найдите в списке «Внешние сервисы авторизации» (
socialservices). - Если модуль не установлен, нажмите «Установить».
После установки в разделе Настройки → Настройки продукта → Настройки модулей появится пункт «Внешние сервисы авторизации» со списком доступных провайдеров.
Чтобы кнопки входа отображались на сайте, соответствующие компоненты авторизации (bitrix:system.auth.form, bitrix:socserv.auth.form) должны быть размещены на странице входа. В стандартных решениях они уже подключены.
Регистрация приложений у провайдеров
Для каждой соцсети нужно создать приложение в кабинете разработчика и получить ключи. В настройках приложения обязательно укажите корректный Redirect URI (адрес возврата) — иначе провайдер отклонит авторизацию.
Общий формат адреса возврата в 1С-Битрикс:
https://ваш-домен/bitrix/tools/oauth/<провайдер>.php
| Провайдер | Где регистрировать приложение | Что получаете |
|---|---|---|
| ВКонтакте | Кабинет VK ID / vk.com/apps (раздел «Управление») | ID приложения, Защищённый ключ, Сервисный ключ |
| Google Cloud Console → OAuth 2.0 Client IDs | Client ID, Client Secret | |
| Яндекс | oauth.yandex.ru → зарегистрировать приложение | ID, Пароль (Client Secret) |
| Mail.ru | o2.mail.ru / кабинет разработчика | Client ID, Client Secret |
Точный вид адреса возврата для каждого сервиса Битрикс подсказывает прямо на странице настроек провайдера — скопируйте его оттуда, чтобы не ошибиться в написании.
Ввод ключей в настройках Битрикс
После регистрации приложения внесите полученные ключи в админку.
- Откройте Настройки → Настройки продукта → Настройки модулей → Внешние сервисы авторизации.
- Выберите нужного провайдера (например, «ВКонтакте»).
- Установите флаг «Активен».
- Введите Client ID и Client Secret из кабинета провайдера.
- При необходимости укажите дополнительные права (scope) — например, доступ к e-mail пользователя.
- Нажмите «Сохранить».
Повторите шаги для каждой соцсети, вход через которую вы хотите разрешить. Настройки задаются отдельно для каждого сайта в многосайтовой конфигурации.
Размещение кнопок входа на сайте
Кнопки соцсетей появляются автоматически в форме авторизации, если активен хотя бы один провайдер. Управлять их отображением можно через компоненты и настройки главного модуля.
- Форма входа. Компонент
bitrix:system.auth.formсам подтягивает активные сервисы черезbitrix:socserv.auth.form. - Отдельный блок. На любой странице можно вывести только кнопки соцсетей компонентом
bitrix:socserv.auth.split. - Привязка аккаунтов. В профиле пользователя доступна привязка соцсетей к уже существующей учётной записи — это удобно для тех, кто зарегистрировался обычным способом.
Порядок и набор кнопок зависят от того, какие провайдеры активны в настройках модуля. Неактивные сервисы в форме не показываются.
Регистрация новых пользователей и группы
Когда пользователь входит через соцсеть впервые, Битрикс создаёт для него учётную запись. Важно заранее определить, в какие группы он попадёт и какие данные будут заполнены.
- По умолчанию новый пользователь попадает в группу «Все пользователи (в том числе неавторизованные)» и группу зарегистрированных пользователей согласно настройкам главного модуля.
- Логин и e-mail подставляются из данных профиля соцсети; если e-mail не передан провайдером, поле может остаться пустым.
- Проверьте настройки регистрации в Настройки → Настройки продукта → Настройки модулей → Главный модуль — там задаётся, требуется ли подтверждение e-mail и какие группы назначаются новым пользователям.
Если на сайте включена двухфакторная аутентификация для определённых групп, она продолжает действовать и для пользователей, вошедших через соцсети — вход по OAuth не отменяет 2FA.
Частые ошибки и их решение
Большинство проблем с OAuth связано не с самим Битрикс, а с настройками приложения на стороне провайдера.
| Симптом | Причина | Решение |
|---|---|---|
Ошибка redirect_uri_mismatch | Адрес возврата в приложении не совпадает с реальным | Скопируйте Redirect URI со страницы настроек провайдера в Битрикс и вставьте точно так же в кабинет соцсети (с учётом http/https и www) |
| Invalid client / неверный ключ | Client ID или Client Secret введены с опечаткой или перепутаны | Перепроверьте оба ключа, скопируйте заново из кабинета разработчика |
| Кнопка соцсети не появляется | Провайдер не активирован или не подключён компонент | Включите флаг «Активен» в настройках модуля, проверьте компонент авторизации на странице |
| Пустой e-mail у нового пользователя | Не запрошен нужный scope или пользователь не дал доступ | Добавьте право на e-mail в настройках приложения и провайдера |
| Возврат на страницу с ошибкой сети | Приложение в статусе «на модерации» или домен не подтверждён | Дождитесь одобрения приложения, подтвердите домен в кабинете провайдера |
Дополнительно убедитесь, что сайт работает по HTTPS — большинство провайдеров не разрешают OAuth-возврат на незащищённые адреса.
Итог
Настройка входа через соцсети в 1С-Битрикс сводится к трём шагам: установить модуль «Внешние сервисы авторизации», зарегистрировать приложения у провайдеров и внести полученные ключи Client ID и Client Secret в админку.
Главное — точно указать Redirect URI и работать по HTTPS: именно на этом спотыкается большинство первых подключений. После настройки проверьте вход по каждой соцсети и убедитесь, что новые пользователи попадают в нужные группы, а действующие политики безопасности (2FA, права доступа) продолжают работать.