Личный кабинет
+7 (495) 227-36-78
www@abcwww.ru
  • Москва
  • Рязань
ул. Большая Новодмитровская, 14
Рязань, ул. Пожалостина, 12к1
+7 (495) 227-36-78

Умная OTP-авторизация и регистрация по Email или СМС в одном поле для 1С-Битрикс: Управление сайтом

Умная OTP-авторизация: вход и регистрация в одном поле

Модуль заменяет раздельные формы входа и регистрации на единый сценарий. Пользователь видит одно поле ввода — система сама определяет, телефон перед ней или e-mail. Нет необходимости создавать и запоминать пароль, при каждой отправке формы генерируется одноразовый пароль.

Купить за 5000 руб. в Маркетплейс Битрикс.

Как это работает

  • Одно поле для телефона и почты. Посетитель вводит телефон или e-mail. Модуль на лету распознаёт тип данных и подстраивает дальнейшую логику. Переключать ничего не нужно. Поддерживаются номера телефонов РФ - в дальнейшем география может быть расширена.

 

  • Автоматическая проверка пользователя. Пока посетитель печатает, модуль в фоне проверяет, есть ли он в базе. Если пользователь новый — форма показывает чекбоксы согласия по 152-ФЗ (отдельные, не предзаполненные). Если пользователь уже зарегистрирован — только кнопку «Получить код», без лишних элементов. Юридические требования соблюдены без усложнения интерфейса.

 

  • Задержка перед повторной отправкой. В настройках задаётся интервал, через который можно запросить новый код. Пользователь видит таймер обратного отсчёта. Это помогает избежать спама, лишних запросов и нецелевых расходов на отправку. Внедрена защита от перебора запросов: динамические лимиты по IP и логину — 5 запросов в минуту, 20 запросов в сутки.

     

  • Время жизни кода. Срок действия OTP настраивается: можно задать короткий интервал для повышенной безопасности или более длинный — для удобства пользователей.

     

  • Тестовый режим. На этапе разработки и отладки реальные SMS и Email не отправляются. Код сохраняется в отдельную таблицу базы данных и доступен для просмотра в административной панели. Это позволяет проверить логику и не тратить бюджет на тестовые сообщения.

     

  • Адаптивный шаблон. Форма готова к работе на десктопе, планшете и смартфоне без дополнительных настроек

     

 

 

Стандартная установка модуля из MarketPlace.

После установки модуля, в папке /bitrix/components/abcwww/ появится компонент otpauth, содержащий форму авторизации, который вы можете подключить на странице вручную или через визуальный редактор. В настройках компонента можно настроить редирект после авторизации и указать группы пользователей, в которые пользователь будет добавлен при регистрации.

Далее, на странице настроек модуля bitrix/admin/settings.php?lang=ru&mid=abcwww.otpauth заполняются необходимые данные, подробности ниже.

Процесс установки и начальная настройка

Регистрация пользователей

Логика создания учётной записи зависит от типа введённых данных:

  • Email: Создаётся новый пользователь. Логин и Email устанавливаются равными введённому адресу.
  • Номер телефона: Создаётся новый пользователь. Логин устанавливается равным номеру телефона, сам номер сохраняется в поле `PERSONAL_PHONE`.
  • Обязательный Email: Если в настройках главного модуля активирована опция «Email является обязательным полем», в поле Email автоматически подставляется адрес вида `номер_телефона@local.ru`.

База данных и проверка дубликатов

В процессе установки модуль создаёт служебную таблицу для хранения всех проверочных кодов (доступна в административном интерфейсе).

Также добавляется обработчик события редактирования пользователя, который:

  1. Приводит номер телефона к единому формату перед записью в поле `PERSONAL_PHONE`.
  2. Блокирует регистрацию, если пользователь с таким номером уже существует в базе.

Если на сайте имеются внешние или сторонние интеграции, нужно обязательно проверить логику создания пользователей, чтобы она не конфликтовала с описанными условиями.

Отправка оповещений на Email

При установке автоматически создаются почтовые шаблоны:

  1. Почтовое событие `OTP_CODE` с шаблоном и стандартным HTML-текстом уведомления.
  2. Проверяется наличие шаблонов для почтового события `NEW_USER`. Если они отсутствуют, устанавливается новый шаблон. Это необходимо для работы настройки «Отправлять дополнительное оповещение о регистрации».


Мгновенная отправка писем

При использовании штатного шаблона отправка Email производится через штатный механизм Битрикс (CEvent::SendImmediate). Модуль поддерживает альтернативную отправку оповещения через SMTP с использованием встроенной библиотеки phpMailer. Параметры подключения настраиваются в опции «Метод отправки Email».

Отправка СМС

Для отправки проверочных кодов по СМС предусмотрена интеграция с провайдерами SmsRuSmscRu, SmsAero, RedSms, ProstorSms.

При необходимости можно добавить собственного провайдера. Для этого нужно разместить новый класс в директории модуля lib/Sms/, соблюдая несколько правил:

  1. Класс должен реализовывать интерфейс SmsSenderInterface.
  2. В классе должен быть реализован метод send, который принимает номер телефона и проверочный код, а возвращает true или false в зависимости от результата отправки.
  3. Название класса и имя файла должны совпадать, файл имеет расширение .php. Обязательный суффикс — Sender. Например: класс NewProviderSender и файл NewProviderSender.php.

По умолчанию активен тестовый класс LogSmsSender. В этом режиме реальная отправка СМС не выполняется — проверочный код просто записывается в таблицу БД.

Данные доступа для каждого провайдера задаются в настройках модуля.

Система анти-абьюз контроля

• Лимиты по IP-адресу:
 - 5 запросов в минуту
 - 20 запросов в сутки

• Лимиты по логину:
 - 5 запросов в минуту  
 - 20 запросов в сутки

Тестовый режим

Для отладки формы авторизации предусмотрен специальный режим. При его активации уведомления на Email и СМС не отправляются. Проверочный код записывается в таблицу базы данных, которая доступна в админке (раздел «Сервисы → ОТП → ОТП-коды»).

Согласие при регистрации

Если телефон или Email отсутствуют в базе (новый пользователь), при попытке отправки форме отображаются чекбоксы согласия. Их состав настраивается в административной панели, а текст редактируется в шаблоне компонента.
Предусмотрена настройка для отправки отдельного уведомления о регистрации. Оно отправляется стандартным методом `Event::send()` по почтовому событию `NEW_USER`.
Не забудьте отредактировать дефолтный почтовый шаблон, если он уже существует.


По умолчанию чекбоксы согласия и отправки оповещения о регистрации нового пользователя отключены в настройках модуля.

Кастомизация шаблона компонента

Разметку и вёрстку шаблона формы можно редактировать, адаптируя её под дизайн вашего проекта. Основное требование: сохранить все CSS-классы, название которых начинается с префикса `js-`. Эти селекторы используются для корректной работы JavaScript-функционала отправки формы. Также необходимо сохранить правильную вложенность HTML-тегов с указанными классами.

Логирование ошибок

В модуле предусмотрено логирование. Если при настройке или тестировании что-то пошло не так, в первую очередь стоит заглянуть в директорию log/ внутри модуля. Там собираются файлы с записями возможных ошибок. Имена файлов соответствуют классам модуля — это упрощает поиск нужной информации.

Текущая доступная версия 1.0.0

Подходящие редакции: «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес»

Поддержка осуществляется через обращения на почту marketplace@abcwww.ru
При обращении указывайте название модуля и купон, полученный при покупке решения.

5 дней в неделю с 10-00 до 18-00 по Московскому времени Стоимость 5000 руб., НДС не облагается в соответствии п. 26 п.2 ст. 149 НК РФ

 

Сайт использует файлы сookies. Узнать подробнее