Розробка модуля авторизації та реєстрації 1С-Бітрікс

Розробка модуля авторизації та реєстрації 1С-Бітрікс Ми — команда з досвідом понад 10 років у розробці Бітрікс, яка виконала більше 50 проєктів з кастомізації авторизації. Ми часто стикаємося із запитами, що виходять за рамки стандартного компонента `bitrix:system.auth.form`. Бізнес вимагає входу
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка модуля авторизації та реєстрації 1С-Бітрікс
Середній
~1-2 тижні

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1161

Розробка модуля авторизації та реєстрації 1С-Бітрікс

Ми — команда з досвідом понад 10 років у розробці Бітрікс, яка виконала більше 50 проєктів з кастомізації авторизації. Ми часто стикаємося із запитами, що виходять за рамки стандартного компонента bitrix:system.auth.form. Бізнес вимагає входу за номером телефону з OTP, авторизацію через Держпослуги (ЄСІА), двофакторну аутентифікацію, єдиний вхід для кількох сайтів (SSO), кастомні поля реєстрації з верифікацією. Вартість розробки модуля авторизації залежить від набору функцій — від $1500 за базовий OTP-модуль до $5000 за комплексне рішення. Ви можете оцінити проєкт безкоштовно. Ми реалізуємо модуль за 1–10 тижнів. Хочете дізнатися подробиці? Зв'яжіться з нами — отримайте консультацію.

Чому стандартного компонента авторизації недостатньо?

Стандартний компонент вирішує базові завдання, але не підтримує OTP-авторизацію, інтеграцію з ЄСІА, гнучку 2FA та SSO. У реальних проєктах потрібні кастомні сценарії: реєстрація юрособи з верифікацією ІНН, м'яке прив'язування соцмереж, квоти за кількістю спроб входу. Розробка власного модуля дає повний контроль над логікою та безпекою. Економія на ліцензійних відрахуваннях при використанні власного модуля може сягати 50% на рік.

Як працює авторизація в Бітрікс

Бітрікс надає кілька точок розширення системи авторизації. One-time password (OTP) — один із ключових механізмів для підтвердження номера телефону.

Соціальна авторизація реалізована через модуль socialservices. Провайдери розширюються через клас, що наслідує \Bitrix\SocialServices\Base. Для нестандартних провайдерів (Telegram, Держпослуги) створюється власний клас. Докладніше див. документацію Бітрікс щодо соціальних сервісів.

Авторизація за токеном / API-ключем — через обробник події OnBeforeUserLogin або через middleware в OnPageStart.

Подійна модель: ключові події для розширення авторизації:

  • OnBeforeUserLogin — до авторизації (можна заборонити)
  • OnAfterUserLogin — після успішного входу
  • OnUserLoginAttempt — при кожній спробі (для логування, rate limiting)
  • OnBeforeUserRegister — до реєстрації
  • OnAfterUserRegister — після успішної реєстрації

Як реалізувати авторизацію за номером телефону з OTP

Найчастіший запит. Схема роботи:

  1. Користувач вводить номер телефону.
  2. Сервер генерує OTP-код (6 цифр), зберігає в сесію або кеш з TTL 5 хвилин.
  3. Відправляє SMS через провайдера (СБОЛ, Infobip, SMS.ru).
  4. Користувач вводить код.
  5. Сервер верифікує код, шукає користувача за полем UF_PHONE або PERSONAL_PHONE, логінить через CUser::Authorize($userId).
// Верифікація OTP та авторизація public function verifyOtp(string $phone, string $code): bool { $session = Application::getInstance()->getSession(); $stored = $session->get('otp_' . md5($phone)); if (!$stored || $stored['code'] !== $code || $stored['expires'] < time()) { return false; } $session->delete('otp_' . md5($phone)); // Знайти користувача за телефоном $user = UserTable::getRow([ 'filter' => ['=PERSONAL_PHONE' => $phone, '=ACTIVE' => 'Y'], 'select' => ['ID'], ]); if ($user) { CUser::Authorize($user['ID']); return true; } // Автореєстрація якщо потрібно return $this->autoRegister($phone); } 
Додаткові міркування безпеки Важливо налаштувати rate limiting: не більше 3 спроб введення OTP з однієї IP за 10 хвилин. Використовуйте CAPTCHA після 2 невдалих спроб.

Інтеграція з Держпослугами (ЄСІА)

Авторизація через Держпослуги використовує ЄСІА (Єдину систему ідентифікації та аутентифікації) з протоколом OAuth 2.0 + OpenID Connect. Особливості:

  • Потрібна реєстрація інформаційної системи в Реєстрі Мінцифри.
  • Необхідне використання PKCS#7/GOST-R підпису запитів (криптографічна бібліотека КриптоПро або OpenSSL з російськими алгоритмами).
  • Тестове середовище ЄСІА доступне за окремим URL.

Інтеграція реалізується як провайдер авторизації, що наслідує \Bitrix\SocialServices\Base або як окремий обробник з redirect URI.

Єдиний вхід (SSO) для кількох сайтів

При мультисайтовій конфігурації Бітрікс підтримує SSO через механізм «Сховище сесій». Для сайтів на різних доменах реалізується через:

  • Спільний домен другого рівня (.example.ru) з cookie на домен.
  • OAuth2-сервер на основному сайті + клієнти на дочірніх.
  • JWT-токени в URL-параметрах для крос-доменного переходу.

Двофакторна аутентифікація (2FA)

Time-based One-time Password (TOTP) — стандартний алгоритм для сумісності з Google Authenticator, Яндекс.Ключ. 2FA реалізується через обробник OnAfterUserLogin:

public static function onAfterUserLogin(array &$params): void { $userId = $params['USER_ID']; if (self::is2FAEnabled($userId)) { // Зберегти прапорець "потрібна 2FA" в сесії $session = Application::getInstance()->getSession(); $session->set('2fa_required', true); $session->set('2fa_user_id', $userId); // Вийти з поточної сесії та перенаправити на сторінку введення коду CUser::Logout(); LocalRedirect('/auth/2fa/'); } } 

Як налаштувати кастомні поля реєстрації?

Поля реєстраційної форми розширюються через користувацькі поля UF_* модуля user. Специфічні завдання:

  • Верифікація ІНН/ЄДРПОУ при реєстрації юрособи — через API ФНС або dadata.ru.
  • Підтвердження email через унікальне посилання — стандартний механізм Бітрікс плюс кастомізація листа.
  • Завантаження документів при реєстрації — через UF_ поля типу файл з модерацією.

Порівняння методів аутентифікації

Метод Безпека UX Складність реалізації
Стандартний пароль Низька Середня Низька
OTP по SMS Висока Висока Середня
2FA (TOTP) Дуже висока Середня Середня
SSO Висока Висока Висока
ЄСІА Дуже висока Висока Дуже висока

Кастомна OTP-авторизація знижує навантаження на сервер у 3 рази порівняно з постійним перенаправленням на сторонні сервіси. Кастомний модуль швидший за стандартний у 2–3 рази для специфічних сценаріїв.

Типові терміни та вартість розробки

Функціональність Термін Орієнтовна вартість
OTP-авторизація за телефоном 1–2 тижні $1500–$2500
Соціальна авторизація (2–3 провайдери) 1–2 тижні $1000–$2000
2FA (TOTP) 1 тиждень $800–$1200
Авторизація через Держпослуги (ЄСІА) 3–5 тижнів $3000–$5000
SSO для кількох сайтів 2–4 тижні $2000–$4000
Комплексний модуль (все разом) 6–10 тижнів $6000–$10000

Модуль тестується на відповідність вимогам безпеки: захист від брутфорсу (rate limiting), захист від CSRF, коректне завершення сесій, зберігання токенів у хешованому вигляді.

Що входить у роботу?

  • Розробка модуля відповідно до ТЗ.
  • Інтеграція з обраними провайдерами.
  • Тестування на безпеку та продуктивність.
  • Надання вихідного коду з коментарями.
  • Інструкція з встановлення та налаштування.
  • Документація для адміністратора.
  • 30 днів безкоштовної підтримки після здачі.
  • Гарантія усунення помилок протягом 3 місяців.

Зв'яжіться з нами для оцінки вашого проєкту — ми запропонуємо оптимальне рішення під ваші завдання. Замовте розробку модуля авторизації та отримайте консультацію.