如何在 Node.js 中将过期设置为 24 小时内生成的密码



这是完整的细节...我需要将过期设置为忘记密码选项生成的密码,该密码在 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;
};
'

请帮我摆脱困境...!

我认为无论使用何种技术,您的问题的答案都是一样的。我假设您必须拥有某种带有用户帐户的数据库。在此数据库中,您必须记住用户何时请求新密码(重置密码)。

下次特定用户尝试登录时,您只需将当前日期与数据库中上次请求新密码的日期进行比较(如果存在/不为空)。 如果不在允许的限制(在本例中为 24 小时),则应报告错误。如果可以,则需要清除(设置为 null)上次请求新密码的日期。

最新更新