这里是完整的细节... 我需要为忘记密码选项生成的密码设置到期时间,该密码会在 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/