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

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

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • 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 Appointment Booking Widget for a Medical Center
    734
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

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

Мы — команда с опытом более 10 лет в разработке Битрикс, выполнившая более 50 проектов по кастомизации авторизации. Мы часто сталкиваемся с запросами, выходящими за рамки стандартного компонента bitrix:system.auth.form. Бизнес требует авторизацию по номеру телефона с OTP, вход через Госуслуги (ЕСИА), двухфакторную аутентификацию, единый вход для нескольких сайтов (SSO), кастомные поля регистрации с верификацией. Стоимость разработки модуля авторизации зависит от набора функций, но вы всегда можете оценить проект бесплатно. Мы реализуем модуль за 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 недели
Социальная авторизация (2–3 провайдера) 1–2 недели
2FA (TOTP) 1 неделя
Авторизация через Госуслуги (ЕСИА) 3–5 недель
SSO для нескольких сайтов 2–4 недели
Комплексный модуль (всё вместе) 6–10 недель

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

Что вы получите в результате

  • Полностью готовый к использованию модуль авторизации и регистрации.
  • Исходный код с комментариями.
  • Документацию по установке и настройке.
  • Инструкцию для администратора сайта.
  • Гарантию поддержки в течение 30 дней с момента сдачи.

Свяжитесь с нами для оценки вашего проекта — мы предложим оптимальное решение под ваши задачи. Закажите разработку модуля авторизации и получите консультацию.