SMS авторизация на современных сайтах — явление нередкое. Посетитель вводит номер телефона, получает sms с кодом, вводит код в текстовое поле. После подтверждения кода он авторизован. Нет необходимости запоминать пароль. Да, собственно, и сам пароль никто не сможет подобрать или украсть. Безопасно и удобно. Возможность sms авторизации под CMS Joomla предоставляет компонент J SMS Registration.

В состав дистрибутива входят:

  1. Компонент

  2. Модуль авторизации

  3. Плагин

Совместимость: Joomla 3, Joomla 4 и Joomla 5

Скаченный архив необходимо распаковать и последовательно установить компонент, модуль и плагин.

Купить компонент в Интернет-Магазине

Принцип работы

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

Демонстрационный сайт расположен по ссылке ниже:

https://joomla4.sitogon.ru/sms-demo

 

На демонстрационной странице показаны два варианта модуля SMS авторизации. В каждом из модулей есть возможность не только SMS авторизации, но и стандартной авторизации с помощью логина и пароля.

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

Вернемся к SMS авторизации.

После ввода номера телефона посетителю сайта высылается SMS с кодом.

После ввода кода автоматически запускается проверка кода и если он введен верно, то происходит авторизация.

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

Если же посетитель авторизуется на сайте первый раз, то он будет переадресован на страницу, где ему необходимо будет ввести данные. А именно: Email и Имя.

После заполнения данных и нажатия на кнопку «Подтвердить» посетитель будет переадресован на ту страницу, с которой осуществлялась авторизация.

Установка и настройка

После приобретения компонента, вы скачаете архив «j_sms_registration_unzip_first.zip». Архив необходимо распаковать на вашем локальном компьютере.

Далее, через менеджер расширений Joomla, последовательно устанавливаем:

com_j_sms_registration.zip — компонент

mod_j_sms_registration.zip — модуль

plg_j_sms_registration.zip — плагин

Настройка компонента

Для того, чтобы настроить компонент для работы, необходимо определиться с сервисом, через который будет происходить отправка SMS.

На сегодняшний день поддерживается работа со следующими сервисами (смс агрегаторами):

SMS.RU (Россия)

SMS-ASSISTENT.BY (Беларусь)

CLICKSEND (США, Англия, Европа)

SMSint.RU (Россия)

Чуть позже мы рассмотрим отдельно настройку, каждого из смс-агрегаторов, а в данный момент мы в главном меню административной панели Joomla перейдем «Компоненты — J SMS REGISTRATION»

Далее в правом верхнем углу нажмем кнопку «Настройки».

В выпадающем списке «СМС-агрегатор» необходимо выбрать сервис, с которым вы планируете работать.

Проверка номеров сервисом DADATA

При вводе телефонных номеров существует проблема стандартизации. Даже если речь идет о телефонных номерах одной страны, то возможны разные варианты ввода одного и того же номера.

Например телефонный номер +7 111 111 11 11 может быть введен, как:

+7 111 111 11 11

7 111 111 11 11

8 111 111 11 11

SMS-агрегатор примет все три варианта и отправит посетителю смс, однако с точки зрения компонента это будут три разных номера. Соответственно, три разных пользователя.

Российский сервис DADATA позволяет стандартизировать номера. И что немаловажно, номера всех операторов мира.

К сожалению, личный кабинет сервиса выполнен исключительно на русском языке.

На момент написания данной инструкции стандартизация одного номера стоила 10 российских копеек.

Для регистрации в сервисе необходимо перейти по ссылке ниже:

https://dadata.ru/#registration_popup

После регистрации, в личном кабинете необходимо скопировать предоставленные API ключ и Секретный ключ и вставить их в настройки компонента J SMS Registration

Начиная с версии 2.1.3 обязательным шагом настройки компонента является создание пункта меню тип которого будет «J SMS Registration — Регистрация»

Также хочу обратить ваше внимание на то, что для корректной работы авторизации, в общих настройках сайта переключатели «Включить SEF» и «Перенаправлять URL» должны быть активированы.

В последних версиях компонента стала доступна авторизация через VK.

Поскольку тема эта очень объемная, ей посвящена отдельная статья на сайте.

Настройка СМС агрегаторов

Настройка смс агрегаторов заключается в получении и введении авторизационных данных. А также во включении и отключении логирования.

Логирование поможет разобраться с проблемами, если по каким то причинам данные для смс отправки не уходят на сторону сервиса.

Просмотреть логи можно в соответствующем разделе в административной панели.

SMSint

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

Страница регистрации (она же и авторизации) доступна по ссылке ниже:

https://lcab.smsint.ru/

В личном кабинете нам необходимо получить токен, который потребуется при дальнейшей настройке компонента J SMS Registration.

Для получения токена в личном кабинете SMSint обратим внимание на левую боковую панель меню, где нас интересует кнопка под названием API.

Нажатие на нее перенесет нас на страницу, где следует обратить внимание на блок «Рассылка сообщений».

Далее кидаем взор на кнопку «Создать токен», которую ни секунды не колеблясь нажимаем...

… и видим всплывающее окно, где потребуется придумать название нашему токену.

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

Далее нажимаем кнопку «Продолжить» и после сообщения о том, что все прошло успешно, копируем сгенерированный токен в буфер обмена.

Настало время вернуться в административную панель компонента J SMS Registration и перейти на страницу редактирования настроек агрегатора SMSint

Обратите внимание! Сервис SMSint поддерживает работу с рассылкой кода путем телефонного звонка. Это значительно дешевле смс уведомлений и не требует регистрации отправителя SMS.

При активированном тестовом режиме смс и звонки совершаться не будут, однако, данные о совершенном действии можно будет увидеть в разделе «Логи» административной панели компонента J SMS Registration.

SMS.RU

Сайт сервиса: http://sms.ru/

После регистрации в личном кабинете, необходимо получить и скопировать API ID.

Сделать это можно в разделе «Программистам»

Следующий шаг — это создание и регистрация отправителя. Отправитель — это короткая подпись к вашей sms, где может быть название компании или адрес вашего сайта.

Создать отправителя можно в соответствующем разделе. Однако, от вас попросят написать гарантийные письма сотовым операторам.

После того, как создан отправитель и скопирован API ID, в административной панели компонента J SMS Registration открываем на редактирование агрегатора SMS.RU и вставляем полученные данные.

Обратите внимание на выпадающий список «Тестовый режим». Он позволяет настроить отправку смс без отправки сообщений на телефоны. То есть, в момент тестирования с вас не будут снимать деньги, а отправленные сообщения вы сможете увидеть в разделе «История» личного кабинета SMS.RU

SMS-ASSISTENT.BY

Регистрация в сервисе доступна по адрес: https://sms-assistent.by/

Для настройки компонента J SMS Registration нам понадобятся логин и пароль, которые вы получили при регистрации, а также Отправитель SMS

К сожалению, тестового режима у sms-assistent.by не предусмотрено и отладка отправки смс будет происходить за ваш счет. И, тем не менее, для компаний расположенных на территории Беларуси использование sms-assistent.by будет более выгодным, нежели и работа с зарубежными смс-агрегаторами.

ClickSend

Для тех, кто планирует работать с клиентами из США, Англии, Европы, наиболее удобен сервис ClickSend.

Регистрация в ClickSend возможна по ссылке ниже:

https://clicksend.com/

Личный кабинет ClickSend поражает воображение обилием функций. На этапе настройки компонента J SMS Registration нам понадобится раздел «Account Settings»

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

Откроется страница, где мы нас интересует USERNAME и API KEY пользователя.

Копируем значения из каждого поля и вставляем в соответствующие текстовые поля в компоненте J SMS Registration

Для тестирования работы ClickSend предоставляет кредит в несколько долларов. Баланс личного кабинета отображается в валюте вашей страны. Этой суммы достаточно, чтобы настроить компонент и проверить отправку sms.

При этом заботливая техподдержка может предложить повторно пополнить кредит своими силами.

В процессе тестирования вы наверняка обратите внимание, что в качестве отправителя SMS (Sender Id) указан сервис ClickSend.

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

https://help.clicksend.com/category/mfdctha7f0-country-specific-features-and-restrictions

Вернемся в компонент J SMS Registration и завершим настройку интеграции с ClickSend.

Заключение

Мы подробно рассмотрели настройку компонента «J SMS Registration», который позволяет настроить SMS авторизацию и регистрацию по CMS Joomla.

Если не нашли в списке компонента необходимого вам SMS агрегатора и желаете работать с другим сервисом, предоставляющим СМС шлюз, возможна доработка компонента. Стоимость доработки и сроки выполнения работы будут озвучены после анализа API выбранного вами сервиса.

С уважением, Владимир Егоров