OTP (one-time password, одноразовый пароль) — это код, который действует только один раз и в течение короткого времени. Его используют, чтобы подтвердить, что человек владеет номером телефона или аккаунтом.
Сервис генерирует случайный код (обычно 4–8 цифр), доставляет его пользователю по выбранному каналу и ждёт, что тот введёт этот код обратно. Если код совпал и не истёк — проверка пройдена. Поскольку пароль одноразовый, перехваченный код быстро становится бесполезным.
OTP — это сам одноразовый код. Двухфакторная аутентификация (2FA) — это сценарий, в котором вход требует двух факторов: например, пароль плюс OTP. То есть OTP часто выступает вторым фактором в 2FA, но может использоваться и отдельно — для подтверждения номера.
Классический канал — SMS, но он дорожает и хуже доходит. Альтернативы дешевле и надёжнее: код в Telegram, голосовой звонок или flash-call. Отдельный подход — обратный flash-call, где кода нет вовсе: пользователь сам звонит на номер.
Обычно от 4 до 8 цифр. В Verificahub длина кода приходит в поле code_length при инициации проверки.
Недолго — как правило, несколько минут. В Verificahub срок жизни сессии задаётся полем expiry_seconds (по умолчанию 300 секунд).