А зачем одноразовые коды сохранять, если уже totp настроил?
Я не докапываюсь, но хочу дать совет. Когда настраиваешь totp, вместо сканирования QR кода в приложение для генерации кодов, нажми показать строку токена просто текстом. Этот текст запиши в keepass2android / keepassXC. Ну или хотя бы на бумажку.
Тогда в случае потери смартфона с гугл аутентификатором или, если его просто не окажется рядом, когда надо войти из ПК. У тебя будет возможность этот сохраненный токен вбить в другом смартфоне и получить код. Но keepass, и на ПК, и на андроиде сам может сгенерировать этот код и автоматически его подставить при входе. Поэтому, если юзаешь его, то и гугл аутентификатор не нужен. А учитывая, что в кипасе можно настроить синхронизацию, ты получаешь автобэкап из смартфона на пк и наоборот. Плюс версию в дропбоксе (с ним лучше всего работает).
А раз не можешь потерять токен для генерации кодов вместе с приложением гугла/смартфоном. То и какие-либо еще резервные варианты не нужны, достаточно настроить только totp.
Для того, чтобы код генерировался любым клиентом кипаса на андроиде, линуксе и винде, понадобится к сожалению два формата его сохранения. На самом деле есть 4 формата записи totp токена, но эти два понимают все версии кипаса.
- Имя поля “TimeOtp-Secret-Base32”. И токен вписывается без лишних предисловий.
- Имя поля “otp”
Перед токеном должно быть otpauth://totp/?secret= (после ничего не нужно). Лишнее можно удалить.
Не помню что из клиентов или их плагинов добавляло ===== к токены ,если его длина короткая, как например у гитхаба (16 символов). Но эти знаки не нужны. Если токен короткий, просто пишешь его, не дополняя никакими знаками.
Звучит громоздко, но руками это делается проще, чем кажется. И главное не станешь никогда одним из нытиков, которые потеряли смартфон и потом требуют от сервисов дать им войти без 2fa.