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

Регистрация по номеру телефона: как работает и как настроить

Когда вы в последний раз вводили пароль для входа в любимый сервис и не могли вспомнить его с первого раза? Многие из нас сталкиваются с этим. Именно поэтому регистрация через номер телефона становится стандартом. Не нужно ничего придумывать и запоминать.
В этой статье опишем, как устроена авторизация через номер, какие методы существуют, что нужно учесть при реализации и как всё это подключить через API.

Зачем вообще нужна авторизация по телефону

Классический логин и пароль работают плохо по нескольким причинам. Пользователи выбирают простые пароли, переиспользуют их на разных сайтах, забывают. Базы данных утекают. Фишинговые атаки крадут учётные данные, иногда пользователь даже не замечает этого.
Регистрация через SMS решает часть этих проблем за счёт одного простого принципа: код приходит на физическое устройство. Даже если злоумышленник знает логин и пароль, без телефона он никуда не войдёт.
По сути, это и есть двухфакторная аутентификация: первый фактор состоит из логина и пароля, плюс что-то, что клиент может получить вторым шагом (одноразовый код).

Методы аутентификации

Прежде чем погружаться в детали SMS-верификации, полезно понять, какое место она занимает среди других подходов.
  • Парольная аутентификация — самый распространённый вариант. Пользователь задаёт пароль, вводит его при входе. Но, к сожалению, пароли крадут, угадывают, подбирают перебором.
  • Биометрия — сканирование отпечатка пальца или распознавание лица. Высокий уровень защиты, но требует поддержки на уровне устройства. Не везде применимо.
  • Токены и приложения-генераторы кодов — например, Google Authenticator. Надёжно, не зависит от сотового оператора, но требует, чтобы пользователь установил дополнительное приложение. Не самый простой опыт для массовой аудитории.
  • Авторизация по номеру телефона — пользователю нужен только телефон для получения кода, никаких лишних приложений. Этот метод работает для широкой аудитории включая и тех, кто едва разбирается в настройках.

В чём разница между однофакторной и многофакторной

Однофакторная аутентификация (OFA) — это когда достаточно одного способа подтверждения. Например, только пароль.
Многофакторная аутентификация (MFA) требует нескольких шагов. Самая популярная схема: пароль и одноразовый код в SMS. Даже зная пароль, войти не получится без доступа к телефону.

Как работает регистрация по номеру телефона

Процесс выглядит примерно одинаково в большинстве сервисов.
  1. Пользователь открывает форму регистрации и вводит номер телефона.
  2. Система отправляет на этот номер SMS с одноразовым OTP-кодом (One-Time Password).
  3. Пользователь вводит код в интерфейсе.
  4. Сервис проверяет корректность кода и его срок действия. Если всё верно, подтверждение номера пройдено, учётная запись создана.
На этом этапе можно также добавить дополнительные поля — имя, email — но сам факт верификации держится именно на коде из SMS.
Авторизация через номер при последующих входах работает аналогично: пользователь вводит телефон, получает код, подтверждает вход. Никаких паролей не нужно, это и называют беспарольной аутентификацией.

Способы доставки одноразового кода

Ниже основные варианты, которые используют компании:
  • SMS. Быстро, доступно почти везде, не требует интернета на стороне получателя. Основной риск — SIM-сваппинг, когда злоумышленник переоформляет номер на себя. Для большинства сервисов этот риск минимален.
  • Голосовой звонок. Система звонит пользователю и зачитывает код. Полезно, если SMS не доходит: в роуминге, при слабом сигнале.
  • Мессенджеры. Viber, Telegram и другие платформы поддерживают отправку сервисных сообщений. Хороший вариант для аудитории, у которой мессенджер всегда открыт.
  • Email. Технически работает, но менее надёжен: почтовые аккаунты часто защищены слабее, чем телефонные номера.
  • Push-уведомления. Удобно для мобильных приложений: пользователь нажимает «Подтвердить» прямо в уведомлении, без ручного ввода кода.
На практике для регистрации чаще всего используют именно SMS как основной канал, иногда с голосовым звонком в качестве резерва.

Как сделать регистрацию по номеру

Разберём, что нужно реализовать на уровне сервиса.

1. Форма ввода номера

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

2. Интеграция с API для отправки кодов

Генерировать и отправлять коды вручную — плохая идея. Используйте готовые платформы: они берут на себя генерацию кода, отправку, проверку и аналитику.
Например, в Notificore для этого есть отдельный сервис 2FA с RESTful API. Вы отправляете запрос с номером получателя, выбираете SMS-канал, указываете шаблон сообщения, платформа запускает сервис регистрации.
Пример запроса к API Notificore для отправки OTP-кода:
POST https://one-api.notificore.ru/api/2fa/authentications/otp

{
  "recipient": "79001234567",
  "channel": "SMS",
  "sender": "MYSERVICE",
  "template_id": "12",
  "code_lifetime": 120,
  "code_max_tries": 3,
  "code_digits": 5
}
В ответ система вернёт идентификатор сессии, статус и время истечения кода. Эти данные можно использовать на шаге проверки.

3. Форма ввода кода

После отправки пользователю показывается поле для ввода кода. Здесь важно:
  • Ограничить время ввода (обычно 2–5 минут)
  • Ограничить количество попыток (3–5 достаточно)
  • Предусмотреть кнопку «Отправить повторно» с задержкой

4. Проверка кода

Система сверяет введённый код с тем, что сгенерировала. Если всё совпадает и код не истёк, пользователь проходит авторизацию. В API Notificore для этого есть отдельный метод проверки одноразового кода.

5. Создание учётной записи и управление сессией

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

Настройка 2FA в Notificore

Если вы хотите попробовать подтверждение номера телефона через Notificore, начать можно прямо из личного кабинета.
Перейдите в раздел Начало работы → 2FA → Настройка интеграции.
Там достаточно выбрать канал SMS и указать параметры:
  • Номер телефона для тестирования
  • Отправителя (альфа-имя или числовой номер)
  • Шаблон сообщения
  • Длину кода (от 3 до 9 символов)
  • Срок действия кода в секундах (от 30 до 300)
  • Максимальное количество попыток ввода
После заполнения платформа сразу сгенерирует готовый curl-запрос, который можно скопировать и использовать в коде. Это удобно: не нужно писать запрос вручную, можно сразу проверить, как всё работает.
Для более гибкой настройки есть шаблоны сообщений. Шаблон создаётся в соответствующей вкладке, проходит модерацию и становится доступен для использования с 2FA API.

Как работает SMS OTP в Notificore

Помимо полноценного 2FA API, платформа поддерживает генерацию одноразовых кодов прямо в теле SMS-сообщения. Это возможно через специальные плейсхолдеры в шаблоне.
Например:
"body": "Ваш код для входа: {gen_otp_09,6}"
Вместо {gen_otp_09,6} система подставит случайный шестизначный числовой код. Доступны разные форматы:
  • {gen_otp_09,N} — цифровой код длиной N символов
  • {gen_otp_az,N} — строчные латинские буквы
  • {gen_otp_aZ,N} — смешанный регистр
  • {gen_otp_a9,N} — буквенно-цифровой код
Это удобно, когда код подтверждения нужно просто вставить в обычную SMS-рассылку. Параметр "destination": "otp" в запросе говорит платформе, что сообщение содержит одноразовый код.

Аналитика

Доступна статистика по сессиям 2FA: число отправленных кодов, успешных верификаций, данные по странам и временным промежуткам. Это помогает понять, насколько хорошо работает процесс авторизации, и выявить проблемные точки, например, если процент успешного ввода кода низкий.

Плюсы и минусы авторизации по номеру телефона

Как и у любого подхода, здесь есть сильные стороны и ограничения.

Что работает хорошо

  • Простота для пользователя. Номер телефона есть у всех, его не нужно придумывать или запоминать. Регистрация через номер телефона занимает меньше времени, чем создание нового пароля.
  • Дополнительный слой защиты. Даже если данные пользователя утекли из другого сервиса, в ваш попасть не получится без физического доступа к телефону.
  • Доступность. SMS работает без интернета, на любом устройстве — от смартфона до кнопочного телефона.
  • Восстановление доступа. Если пользователь забыл пароль, верификация по телефону — самый простой способ его сбросить.

Что стоит учесть

  • Зависимость от сети оператора. В зонах плохого покрытия, в роуминге или при технических проблемах SMS может приходить с задержкой. Именно поэтому полезно иметь резервный канал.
  • SIM-сваппинг. Это атака, при которой злоумышленник добивается перевыпуска SIM-карты на своё имя и перехватывает все SMS жертвы. Риск существует, но для большинства сервисов он невысокий.
  • Конфиденциальность. Часть пользователей не хочет привязывать личный номер к сервису. Это нормально, стоит предусмотреть альтернативные способы регистрации.

Практические рекомендации при внедрении

Несколько пунктов, которые помогут сделать авторизацию через номер телефона надёжнее.
  • Ограничивайте количество попыток. Не больше 3–5 попыток ввода кода за сессию.
  • Ставьте разумный срок жизни кода. Например, 2–3 минуты. Этого достаточно для ввода кода.
  • Добавьте задержку перед повторной отправкой. Достаточно оставить промежуток в 30–60 секунд между попытками.
  • Предусмотрите альтернативный канал. Если SMS не дошло, пусть пользователь может запросить голосовой звонок с кодом.
  • Логируйте все попытки. Если с одного IP идёт слишком много запросов, это повод добавить капчу или временную блокировку.
  • Не усложняйте интерфейс. Пользователю достаточно видеть поле для номера и поле для кода.

Как Notificore помогает это реализовать

Notificore — платформа для бизнес-коммуникаций, в которой есть основные инструменты для работы с пользователями через разные каналы.
Для авторизации через номер здесь есть:
  • 2FA API — полноценный механизм для отправки и проверки одноразовых кодов через SMS. Включает управление сессиями, настройку шаблонов, аналитику.
  • SMS OTP — генерация кодов прямо в теле SMS без отдельной верификации.
  • SMS-рассылки — если нужно добавить рекламные рассылки, уведомить пользователей об изменениях.
Для начала работы с 2FA нужен верифицированный аккаунт. После верификации вы получаете API-ключ и можете тестировать интеграцию. API построили по стандарту RESTful, с поддержкой JSON и документацией.

Заключение

Регистрация по номеру телефона — это рабочий подход, который снижает барьер входа для пользователей и одновременно повышает защищённость аккаунтов.
Как сделать регистрацию: создать форму ввода телефона, включить отправку OTP через API с проверкой кода, наладить создание учётной записи. Технически это реализуемо за несколько дней с готовым API.
Важно лишь выбрать платформу, которая даёт надёжную доставку, гибкую настройку параметров кода и прозрачную аналитику. Тогда авторизация по телефону станет не просто опцией, а полноценным инструментом безопасности вашего сервиса.