QRkoder

otpauth:// — структура ссылки и где применяется

otpauth:// — схема URI, которой передают настройки двухфакторной аутентификации: тип генератора, имя аккаунта, общий секрет в Base32, алгоритм, длину кода и шаг времени. Именно эта строка зашита в QR-код, который сервис показывает при подключении 2FA.

Определение

Сервис включает двухфакторку и показывает квадратик «отсканируйте приложением». Внутри квадратика не ссылка на сайт, а строка со схемой otpauth://. Схему сделали для Google Authenticator, и она стала стандартом де-факто: её понимают Яндекс Ключ, Aegis, менеджеры паролей.

По устройству это родственник WIFI URI и Geo URI — формат «данные для приложения, а не адрес в интернете». Обработчик один: генератор кодов на вашем устройстве.

Как работает

Строка собрана из четырёх частей, и порядок у них жёсткий:

otpauth://totp/Сервис:ivan@mail.ru?secret=BASE32&issuer=Сервис&period=30
Часть строкиРоль
otpauth://схема: данные для приложения, а не адрес в сети
totp / hotpтип: считать код от времени или от счётчика нажатий
Сервис:ivan@mail.ruметка: что показать в списке аккаунтов
?secret=…&issuer=…параметры: секрет и настройки генератора

Ценность в строке одна — secret, ключ в Base32: из него и текущего времени TOTP считает код, там же построчно разобраны остальные поля и значения по умолчанию. Здесь важнее синтаксис. Схема и тип регистр не различают, порядок параметров не важен, а метка к разбору чувствительна: двоеточие внутри логина, пробелы и кириллица пишутся процентными кодами (%3A, %20), иначе приложение обрежет метку на первом спецсимволе. Разошлись issuer в метке и в параметрах — одни приложения покажут одну запись, другие две.

Секрет показывают один раз: закрыли окно — тот же QR не получить, только отключить 2FA и подключить заново с новым секретом.

Связанные концепции

Что идёт не так с этой строкой:

  • скриншот QR улетел в облачную галерею или в чат — кто увидит картинку, соберёт второй рабочий генератор ваших кодов, и вы не узнаете;
  • картинку прогнали через онлайн-сканер ради любопытства — секрет ушёл на чужой сервер (как отсканировать QR-код по фото);
  • нестандартные digits=8 или period=60 часть приложений игнорирует и выдаёт коды, которые сервер не примет;
  • секрет вставлен с пробелами: регистр Base32 не важен, а пробелы и символы вне A–Z, 2–7 ломают разбор.

Сам QR обычный: латиница, цифры и двоеточия — это байтовый режим кодирования, а строка на сотню символов даёт картинку средней плотности.

Частые вопросы

Что такое otpauth:// в QR-коде?

Строка с настройками двухфакторной аутентификации: тип генератора, имя аккаунта, секрет в Base32, алгоритм, длина кода и шаг времени. Приложение-генератор разбирает её и добавляет запись в список. Сайта по этой ссылке нет, обработчик только локальный.

Можно ли настроить 2FA без сканирования QR?

Да. Под кодом почти всегда есть «ввести ключ вручную» — там та же Base32-строка, что в параметре secret. Вбейте её в приложении, выберите тип «по времени» и шаг 30 секунд. Способ выручает, когда камера сломана, генератор стоит на компьютере или QR не читается с экрана.

Что будет, если кто-то получит мою otpauth-ссылку?

У него появится генератор, выдающий те же коды, что и ваш, — бессрочно и незаметно. Пароль ему всё ещё нужен, но второй фактор перестаёт быть фактором. Если картинка утекла, отключите 2FA и подключите заново: это выпустит новый секрет и убьёт старый.

Почему secret записан странными буквами?

Это Base32: алфавит из 26 заглавных латинских букв и цифр 2–7, без 0, 1, 8 и 9, чтобы не путать ноль с буквой O. Формат выбран ради ручного ввода — строку можно продиктовать по телефону или перепечатать с бумаги без ошибок, чего не скажешь про Base64.

Почему браузер не открывает otpauth-ссылку?

Потому что это не веб-адрес: сервера, к которому можно обратиться по схеме otpauth://, в интернете нет. Строку обрабатывает локальная программа, зарегистрировавшая схему у системы, — генератор кодов или менеджер паролей. Нет такой программы, и браузер либо ничего не сделает, либо предложит поискать приложение в магазине.

Самойлов Андрей Иванович — Эксперт по QR-кодам и SaaS-маркетингу

Автор материала

Андрей Самойлов

Эксперт по QR-кодам и SaaS-маркетингу. 10 лет в SaaS, маркетинге и ИТ.

Об авторе и все материалы

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно