Задать вопрос
@700Hp

Как грамотно реализовать восстановление пароля с умирающими ссылками? Верна ли моя логика?

Набросал систему авторизации на JWT токенах.

Задался вопросом о восстановление пароля.
Как я понял, на бэке будет 3 post запроса.
Первый на наличие email в БД и отсылать письмо с секретным кодом на email. Тот же секретный код будет записываться в БД.
(Если хранить не в БД, то где?)
Второй на сравнение кода в БД и ответа с тела запроса. (!)
Третий на обновление пароля в БД.

На фронте - реакт, мобХ.

В одном компоненте обработаю первые 2 запроса.
После второго успешного запроса добавлю новое состояние, назовём isReset = true и переведём неавторизованного пользователя на новый роут.
Доступ к роуту есть до тех пор, пока isReset = true. После смены пароля состояние становится false. И роута для него теперь не существует.

Знающие, подскажите верно ли я спланировал? И как сделать письмо разовым, чтобы нельзя было несколько раз активировать сброс пароля? Использую nodemailer. Спасибо.
  • Вопрос задан
  • 1101 просмотр
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
все украдено до нас.
В базе пользователей есть несколько полей

ResetField, IsResetComplite, ResetDate

соответственно в первое заносится какое то значение, которое получается при сбросе, второе контролирует процесс сброса, а третье это время сброса, причем оно контролируется по промежутку времени.

Дополнять можно по желанию, например коды из смс
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽