@tiger_13

Как правильно работать с One Time Password (OTP)?

Всем привет, пишу бэкенд на python (fastapi) под моб. приложение. В моб. приложении должна быть реализована проверка мобильного телефона, указанного пользователем (отправляется 4-х значный пароль на указанный телефон, пользователь в приложении должен ввести его).

Есть библиотека PyOTP. Механизм ее работы +- понятен, но есть некоторые вопросы:
1. для генерации otp нужен секрет. Я для каждого юзера генерирую свой секрет, или указываю его один раз для всего сервера?
2. там есть TOTP и HOTP, какой лучше всего использовать?

Допустим OTP сгененрирован и отправлен на телефон, юзер ввел код, код отправляется на сервер для проверки, как его проверить, если секреты разные для каждого пользователя? Хранить в базе секреты/OTP?

Помогите, пожалуйста, разобраться так как немного каша в голове
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
@dmtrrr
Backend developer
В БД нужно хранить код, отправленный пользователю.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы