Как на сайте сделать регистрацию и авторизацию через SMS

Один из злободневных вопросов. Он может коснуться как владельца бизнеса, так и рядового разработчика, особенно если нужно продумать логику на стороне сайта. Именно о ней мы хотим рассказать детальнее.
Как на сайте сделать регистрацию и авторизацию через SMS

Как на сайте сделать регистрацию и авторизацию через SMS. Фото: из архива компании

Разберём три важных вопроса:

  1. Как установить время жизни SMS-кода?
  2. Как создавать учётную запись пользователя после подтверждения SMS, чтобы не дублировать аккаунты и не создавать их после активации SMS-кодом?
  3. Как предотвратить утечку бюджета при отправке «холостых» SMS?

Как создать аккаунт

Начнём с создания учётной записи после подтверждения SMS-кодом. Все довольно просто:

  • пользователь вводит номер на этапе регистрации;
  • получает от сайта код, вводит его в нужное поле, подтверждая этим свой номер;
  • сайт принимает код, и пользователь продолжает заполнять форму регистрации;
  • пользователь нажимает на «Создать аккаунт».

Вывод простой: если нет заполнения формы, то нет и аккаунта. 

Если, опять же, пытаемся избавиться от «мёртвых душ», то можно далее предложить подтвердить аккаунт с помощью email. Так вы получите ещё и два канала для дальнейшего взаимодействия с клиентом.

Как настроить SMS-код и предотвратить утечку бюджета

Для настройки же срока жизни кода и защиты бюджета от лишних SMS можно изобрести свой велосипед или использовать API-платформу. Но если оба варианта вас устраивают, то обратите внимание на нагрузку, поскольку отправить десятки тысяч SMS сможет не каждый сервис.

Можно пойти по такому пути:

  • готовим механику генерации SMS-кода, устанавливаем время действия в 1–3 минуты по требуемым параметрам;
  • устанавливаем проверку SMS-кода на соответствие критериям, туда же прописываем время жизни SMS-кода для подтверждения его действия;
  • если SMS-код проходит проверку, то даём клиенту доступ к сервису.

Возможны ситуации, когда код устарел, или пользователь ошибся — тогда процесс нужно начинать заново. SMS API в этом безусловно поможет, особенно при необходимости экономить деньги на «холостых» SMS.

Скриншот настройки SMS API

Разработчик может установить дополнительные ограничения:

  • Частота отправки. Зафиксировать число SMS на конкретный номер пользователя за заданный промежуток. Например, не более одного сообщения в минуту.
  • Число SMS с одного номера. То есть, с одного номера будет уходить не больше трёх сообщений в час.
  • Фильтрация и блокировка номеров телефонов. Этот способ хорош, если хочется поймать каждого клиента. Тогда достаточно взять всех, а API формирует чёрный список.
  • Список стоп-слов, чтобы система могла в дальнейшем самостоятельно фильтровать спам и отсекать номера спамеров.

Если времени достаточно и нужна очень гибкая система, тогда можете выбрать иные пути:

  • Сделать двухфакторную аутентификацию (2FA) для всех пользователей, тогда каждому новичку нужно найти дополнительное устройство для аутентификации.
  • Установить капчу. Это простой метод, но его без проблем можно обойти.
  • Построить защиту от DDoS-атак, но здесь понадобятся более мощные ресурсы, нежели с API.

Надеемся, наши советы помогут вам быстрее решить ряд вопросов при регистрации новых пользователей.

Упомянутый сервис

МТС Exolve Платформа для создания коммуникационных сервисов.
Платформа для создания коммуникационных сервисов.

Больше интересного

Актуальное

Обнаружен использующий вредоносные ядра Windows вирус-вымогатель BlackCat
Пользователи Proton теперь могут защитить всех членов своей семьи с помощью одной подписки
Команда Google Cloud провела серьезное обновление вычислительных ресурсов
Ещё…