Как установить срок действия сгенерированного пароля в течение 24 часов в node.js

Вот полная деталь... мне нужно установить срок действия пароля, сгенерированного параметром забытого пароля, который отправляется пользователю по электронной почте в течение 24 часов, так как после этого времени пользователь должен будет запросить новый пароль в node.js и как установить проверку того сгенерированного пароля, чтобы он использовался в течение срока его действия. я использую этот код для забытого пароля

exports.sendForgotPasswordEmail = function(user, password) {
  var emailText = fs.readFileSync(path.resolve(process.cwd(), process.app.i18n('forgot-password.html')), 'UTF-8');
  var body = util.format(
    emailText,
    user.name,
    process.app.conf.get(process.app.conf.HomePage),
    user.email,
    password,
    process.app.conf.get(process.app.conf.SupportEmail)
  );
  var subject = process.app.i18n('Recover Password !!');

  async.nextTick(function() {
    notifications.util.mail.sendEmail(user.email, null, null, subject, body, null);
  });

  return;
};
'

пожалуйста, помогите мне выйти из этого...!

1 ответ

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

В следующий раз, когда конкретный пользователь попытается войти в систему, вам нужно только сравнить текущую дату с датой последнего запроса нового пароля в базе данных (если он существует / не равен нулю). Если выход за пределы допустимого (в данном случае 24 часа), вы должны сообщить об ошибке. Если все в порядке, вам нужно очистить (установить на ноль) дату последнего запроса нового пароля.

Другие вопросы по тегам