2011·mfa·RFC 6238
Modern

TOTP (Authenticator)

OTP по времени, 30 секунд. Google/Microsoft Authenticator.

Плюсы
  • +Offline-генерация
  • +Универсально
Минусы
  • Shared secret
  • Фишабельно
TOTP (time)
AuthenticatorServershared secret (QR / otpauth://)T = floor(unix_time / 30)HOTP(secret, T) → 6 цифрPOST /verify { code }recompute (T, T-1, T+1) и сравниok
  1. 1.Server Authenticatorshared secret (QR / otpauth://)
  2. 2.Authenticator AuthenticatorT = floor(unix_time / 30)
  3. 3.Authenticator AuthenticatorHOTP(secret, T) → 6 цифр
  4. 4.Authenticator ServerPOST /verify { code }
  5. 5.Server Serverrecompute (T, T-1, T+1) и сравни
  6. 6.Server Authenticatorok
TOTP

Сгенерируй секрет, отсканируй QR в Google Authenticator, введи 6-значный код.

Network · DevTools
Запусти демо — сюда упадут все запросы.
Выбери запрос слева, чтобы посмотреть детали.