Налаштування авторизації через соціальні мережі в 1С-Бітрікс: практичний досвід
Користувач заходить на сайт і бачить форму реєстрації з 10 полями — у 80% випадків він іде геть. Авторизація через ВКонтакте, Google або Facebook вирішує цю проблему: один клік — і новий клієнт в особистому кабінеті. Ми реалізували десятки таких інтеграцій для e-commerce та корпоративних порталів на Бітрікс. Розповімо, як працює OAuth в Бітрікс під капотом, які граблі чекають новачків і як уникнути типових помилок.
Налаштовуємо OAuth-провайдерів під ключ за 1–2 робочих дні. Використовуємо модуль socialservices (входить до редакцій «Бізнес» та «Малий бізнес») і кастомні доробки. В результаті бізнес отримує зростання конверсії реєстрації на 30–50% і зниження навантаження на підтримку.
Чому вхід через соцмережі збільшує конверсію в 2-3 рази
Стандартна форма реєстрації вимагає введення email, пароля, підтвердження — до 5 хвилин. Кнопка «Увійти через VK» скорочує процес до 5 секунд. За даними наших проектів, конверсія реєстрації зростає в 2-3 рази, а кількість покинутих кошиків знижується на 15–20%.
Як OAuth 2.0 реалізовано в Бітрікс
Модуль socialservices реалізує OAuth 2.0 для кожного провайдера. При натисканні кнопки користувач перенаправляється до провайдера, авторизується там, провайдер повертає токен на callback URL Бітрікс. Модуль отримує дані профілю і або авторизує існуючого користувача (за збігом email або за прив'язаним акаунтом у таблиці b_socserv_user), або створює нового. Цей підхід кращий за саморобну реалізацію, оскільки вбудований модуль підтримує оновлення токенів і прив'язку до існуючих користувачів з коробки. Детальніше про протокол — Wikipedia.
Прив'язка зберігається в таблиці 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. Підтримуються всі популярні сервіси: ВКонтакте, Google, Facebook, Яндекс, Twitter, Instagram, Odnoklassniki, Mail.ru, LiveJournal. Для підключення будь-якого іншого провайдера за протоколом OAuth 2.0 пишіть нам — реалізуємо кастомний обробник.
Як підключити ВКонтакте?
- Створіть додаток на vk.com/apps?act=manage (тип «Веб-сайт»).
- Вкажіть адресу сайту та callback URL:
https://ваш-сайт/bitrix/tools/oauth/vkontakte.php. - Скопіюйте ID додатка та захищений ключ.
- В адмінці Бітрікс: Налаштування → Соціальні мережі → Авторизація → ВКонтакте → вставте ID та ключ.
- Перевірте: натисніть кнопку «Увійти через VK» на сайті.
Чому не працює авторизація через Facebook?
Одного разу клієнт скаржився — авторизація через Google не працює. Виявилося, в додатку Google вказано Redirect URI з http://, а сайт працював по https://. Після заміни на коректний URL все запрацювало. Перевіряйте точний збіг: протокол, домен, шлях та наявність слеша в кінці. Для Facebook типова помилка — невірний endpoint: має бути https://ваш-сайт/bitrix/tools/oauth/facebook.php. Офіційна документація Бітрікс рекомендує вказувати повний шлях без зайвих символів.
Зведення callback URL для популярних провайдерів:
| Провайдер | Callback URL |
|---|---|
| ВКонтакте | /bitrix/tools/oauth/vkontakte.php |
/bitrix/tools/oauth/google.php |
|
/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 і заповнено налаштування провайдерів.
Що робити, якщо кнопка не з'являється
Переконайтеся, що модуль socialservices увімкнено. Перевірте, що компонент bitrix:socserv.auth.form виводиться в шаблоні та провайдер активний у налаштуваннях. Також перевірте права доступу — компонент має бути доступним для неавторизованих користувачів.
Що входить до роботи з налаштування
- Аналіз поточної архітектури сайту та вибір оптимального набору провайдерів
- Створення додатків на стороні ВКонтакте, Google, Facebook та інших сервісів
- Налаштування модуля
socialservices, параметрів конфігурації та компонентів - Інтеграція кнопок у штатну форму або кастомний дизайн
- Налаштування прив'язки по email (
MATCH_BY_EMAIL = Y) для існуючих користувачів - Тестування всіх сценаріїв: реєстрація нового, авторизація існуючого, повторний вхід, скидання токенів
- Передача документації: інструкція для адміністратора, опис доступів, схема обробки помилок
- Гарантійна підтримка протягом 30 днів
Терміни та процес роботи
Базове налаштування одного провайдера — близько 3 годин. Якщо потрібно три провайдери + кастомний дизайн кнопок + тестування на staging — вкладаємося в робочий день. Вартість розраховується індивідуально — зв'яжіться з нами для оцінки вашого проекту.
Чому варто довірити це завдання нам? Ми — сертифіковані партнери 1С-Бітрікс з досвідом понад 5 років. За плечима 120+ проектів, включаючи налаштування авторизації для сайтів з мільйонною аудиторією. Надаємо гарантію на всі роботи та безкоштовну консультацію щодо інтеграції. Отримайте консультацію — розкажемо, яке рішення підходить для вашого проекту. Зв'яжіться з нами, щоб обговорити деталі, або замовте налаштування авторизації — і ви побачите зростання конверсії вже на першому тижні.







