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

标签 javascript node.js passwords email-validation

这里是完整的细节... 我需要为忘记密码选项生成的密码设置到期时间,该密码会在 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 小时),您应该报告错误。如果没问题,您需要清除(设置为空)上次请求新密码的日期。

关于javascript - 如何在 node.js 中将生成的密码设置为 24 小时内过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897887/

相关文章:

node.js - NodeJS 和 pdfkit - 如何合并两个 pdf

MySQL命令提示符不需要密码

javascript keydown 事件仅适用于 html 输入标签?

node.js - 无法发布(评论帖子)| Mongodb 与 Mongoose

node.js - Mongoose withTransaction 仅部分执行

用于切换密码和文本类型的 Javascript 不起作用

python - 如何在 django auth 密码验证器旁边使用自定义密码验证器?

javascript - Node 中用于 React 应用程序的 Restful api

javascript - Greasemonkey、Chrome 和 unsafeWindow.foo()

javascript - 从 api 解释 JSON 的最佳方法是什么?