Перейти к содержимому

Основы OTP

Что такое OTP и как работает одноразовый код

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

Краткий ответ

OTP (One-Time Password) — одноразовый код с ограниченным сроком действия. Ваш сервер запрашивает отправку, пользователь получает код и вводит его в вашем приложении, а сервер проверяет код через API.

Кратко

Cascade доставляет OTP на номер вашего пользователя через WhatsApp или Telegram. Это исходящая отправка кодов, а не аренда виртуальных номеров.

Главное

  • OTP подходит для регистрации, входа, восстановления доступа и подтверждения важных действий.
  • API-ключ должен храниться только на сервере.
  • Стандартный код Cascade состоит из 6 цифр и действует 5 минут.
  • Успешная доставка через WhatsApp или Telegram стоит 3 кредита.
  • Публичный SMS-канал пока не запущен.

OTP простыми словами

OTP расшифровывается как One-Time Password, то есть одноразовый пароль. Чаще всего это короткий цифровой код, который пользователь получает на телефон и вводит на сайте или в приложении.

Главное отличие от обычного пароля — такой код:

  • действует ограниченное время;
  • предназначен для одного сценария;
  • становится недействительным после успешной проверки;
  • не должен храниться или передаваться как постоянный пароль.

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

Как проходит проверка номера

В типичном сценарии участвуют пользователь, ваш бэкенд и сервис доставки:

  1. Пользователь вводит номер телефона в вашем интерфейсе.
  2. Ваш сервер отправляет запрос POST /api/otp/send в Cascade.
  3. Cascade создаёт код и доставляет его через доступный канал.
  4. Пользователь вводит полученный код у вас в форме.
  5. Ваш сервер передаёт код в POST /api/otp/verify.
  6. После успешной проверки вы завершаете регистрацию, вход или другое действие.

API-ключ нельзя помещать в браузер или мобильное приложение. Оба запроса должны идти с вашего сервера с заголовком Authorization: Bearer <token>.

Через какие каналы Cascade отправляет OTP

Сейчас публично доступны WhatsApp и Telegram. Успешная доставка через каждый из этих каналов стоит 3 кредита. SMS предусмотрен в архитектуре и биллинге, но публичный SMS-провайдер пока не запущен, поэтому обещать его как доступный канал нельзя.

Выбор канала зависит от настроек компании и доступности получателя. Для пользователя процесс остаётся одинаковым: он получает шестизначный код и вводит его в вашем продукте.

Актуальные условия собраны на странице тарифов, а технические параметры — в документации.

Сколько действует OTP

Стандартный OTP Cascade состоит из 6 цифр и действует 300 секунд, то есть 5 минут. Короткий срок уменьшает время, в течение которого украденный или подсмотренный код может быть использован.

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

Как защищать OTP-сценарий

Сам код не делает авторизацию безопасной автоматически. На стороне продукта нужны дополнительные меры:

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

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

OTP и виртуальные номера — не одно и то же

Cascade не выдаёт временные или одноразовые телефонные номера. Вы передаёте номер своего пользователя, а сервис доставляет на него код.

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

Как начать интеграцию

Создайте аккаунт, получите серверный API-ключ и выполните тестовую отправку по инструкции POST /otp/send. Затем добавьте проверку через POST /otp/verify, обработайте ошибки API и настройте webhooks, если вашему продукту нужны асинхронные статусы.

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

FAQ

Что такое OTP простыми словами?
Это одноразовый код, который подтверждает владение номером или конкретное действие пользователя.
Сколько действует код Cascade?
Стандартный срок действия шестизначного кода — 5 минут.
Cascade выдаёт виртуальные номера?
Нет. Cascade отправляет код на номер вашего пользователя и не сдаёт телефонные номера в аренду.