Свой сервер OTP

Достаточно давно появилось желание завести свой сервер одноразовых паролей. Искал, не особо торопливо, как обычно. Отчасти потому, что еще немногие серверы поддерживали такой механизм аутентификации. Да и данных, которые нужно защищать было немного. Позже появились сервисы типа госуслуг, в почте стало храниться больше «чувствительных» данных, стало необходимо ограничить доступ к некоторым функциям своего сервера... В общем, причин накопилось достаточно. Про сервер OTP (One Time Password) стал вспоминать всё чаще и вот на днях мне попалась один простой, но в тоже время достаточно функциональный сервер 2FAuth.
Как пишет автор, он создал его потому, что:

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

Какие есть «плюсы» данного решения:

  • возможность регистрации новых пользователей. Кто-то отнесет ее к «минусам», я не вижу ничего плохого. Можно отключить в настройках.
  • Восстановление пароля от своей учетной записи, используемой для входа. Не проверял.
  • Возможность импорта и экспорта данных.
  • Возможность загрузки QR-кода из файла.
  • Возможность ручного ввода данных (сервис, учетная запись, секретный шифр).
  • Поддержка TOTP, HOTP, Steam, WebAuthn.
  • Загрузка логотипов. Мелочь, а приятно.
  • Поддержка SQLite, MariaDB, MySQL, PostgreSQL и SQL Server (внезапно).
  • Присутствует REST API (снова сюрприз).
  • Есть темная тема.

Пройдемся по «минусам»:

  • Отсутствует приложение для мобильных телефонов, только веб-страница.
  • Нет поддержки кодов, генерируемых Яндексом. То есть у вас не получится запихать в сервис OTP от Яндекса. Ну тут «на любителя».
  • На мой непрофессиональный взгляд слишком много файлов находится в папке.

Теперь немного скриншотов:

Вход в учетную запись Список паролей OTP (убрал данные из вредности) Создание новой записи в ручном режиме Редактирование записи Создание новой записи Настройки Настройки Настройки Настройки
Отправить
Поделиться
Запинить