Налаштування авторизації через соціальні мережі 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 1 з 1 послугУсі 1626 послуг
Налаштування авторизації через соціальні мережі 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування авторизації через соціальні мережі у 1С-Бітрикс

Авторизація через соціальні мережі скорочує тертя при реєстрації. Користувачу не потрібно придумувати пароль та підтверджувати email — він клікає на кнопку ВКонтакте, Google чи Facebook та потрапляє в особистий кабінет. У 1С-Бітрикс ця можливість реалізована через модуль socialservices.

Як це працює в Бітрикс

Модуль socialservices реалізує OAuth 2.0 для кожного провайдера. При натисканні на кнопку користувач перенаправляється до провайдера, авторизується там, провайдер повертає токен на callback-URL Бітрикс. Модуль отримує дані профілю та або авторизує існуючого користувача (за збігом email або за прив'язаним аккаунтом у таблиці b_socserv_user), або створює нового.

Прив'язка зберігається в таблиці b_socserv_user:

Поле Призначення
USER_ID ID користувача в b_user
EXTERNAL_AUTH_ID Ідентифікатор провайдера (vkontakte, google, facebook)
SOCSERV_USER_ID Унікальний ID користувача у провайдера
PERSONAL_WWW Профіль у провайдера

Налаштування провайдерів

Кожен провайдер налаштовується в розділі Параметри → Соціальні мережі → Авторизація. Для кожного потрібно створити додаток у провайдера та отримати App ID (Client ID) та App Secret.

ВКонтакте: створити додаток на vk.com/apps?act=manage, тип — «Веб-сайт». У параметрах вказати адресу вашого сайту та callback URL: https://ваш-сайт.com/bitrix/tools/oauth/vkontakte.php.

Google: створити OAuth-клієнт у console.cloud.google.com, тип — «Веб-додаток». Redirect URI: https://ваш-сайт.com/bitrix/tools/oauth/google.php. Включити Google+ API (або People API).

Facebook/Meta: створити додаток на developers.facebook.com, додати продукт «Facebook Login». У Valid OAuth Redirect URIs вказати https://ваш-сайт.com/bitrix/tools/oauth/facebook.php.

Компонент авторизації

Кнопки виводяться компонентом bitrix:socserv.auth.form або інтегруються в стандартну форму авторизації bitrix:system.auth.form:

$APPLICATION->IncludeComponent('bitrix:socserv.auth.form', '', [
    'AUTH_SERVICES' => ['vkontakte', 'google'],
    'MODE'          => 'AUTH', // або 'REGISTRATION'
    'REDIRECT_URL'  => '/personal/',
]);

Стандартний компонент system.auth.form підтягує кнопки соціальних мереж автоматично, якщо включений модуль socialservices та заповнені параметри провайдерів.

Типові проблеми

  • Callback URL не збігається — провайдер повертає помилку redirect_uri_mismatch. Перевірте точний збіг URL, включаючи протокол (http vs https) та слеш в кінці.
  • HTTPS обов'язковий — Facebook та Google не працюють по HTTP навіть на етапі розробки. Використовуйте локальний SSL.
  • Користувач вже зареєстрований з тим же email — за замовчуванням Бітрикс створює нового користувача. Для прив'язки до існуючого аккаунту потрібно налаштувати параметр MATCH_BY_EMAIL = Y у конфігурації провайдера через CSocServAuthManager.

Терміни виконання

Базове налаштування одного провайдера (ВКонтакте або Google) — 2–3 години. Три провайдери з користувацьким оформленням кнопок та адаптацією під шаблон — 4–6 годин.