Node.js 如何使用Nodejs/Expressjs执行密码重置?

Node.js 如何使用Nodejs/Expressjs执行密码重置?,node.js,mongodb,authentication,Node.js,Mongodb,Authentication,我不知道如何使用nodejs为用户执行密码重置。回答几个问题,我使用的是express框架,我的后端是MongoDB, 我使用bcrypt进行密码散列,使用会话进行会话数据。 我想向用户发送一封带有新密码的电子邮件,以便他们能够重置密码。我不确定如何使用express发送电子邮件。此外,我相信还有一些变量没有解释,比如临时密码超时。我的模式对于用户来说非常简单: var userSchema = new Schema({ _id: Schema.ObjectId, firstNa

我不知道如何使用nodejs为用户执行密码重置。回答几个问题,我使用的是express框架,我的后端是MongoDB, 我使用bcrypt进行密码散列,使用会话进行会话数据。 我想向用户发送一封带有新密码的电子邮件,以便他们能够重置密码。我不确定如何使用express发送电子邮件。此外,我相信还有一些变量没有解释,比如临时密码超时。我的模式对于用户来说非常简单:

var userSchema = new Schema({
    _id: Schema.ObjectId,
    firstName: String,
    lastName:  String,
    email: {type: String, unique: true},
    password: String
});

听起来不像是一张破唱片,但我不知所措。这个谜题有很多部分,我希望有人能把我引向正确的方向。建议?

这可能对您有所帮助。谢谢你的链接。不幸的是,这不是我想要的。对于使用passport的用户来说,这可能是非常有用的@cg14链接页面上显示的密码重置机制不是非常特定于Passport。它向您展示了如何生成重置令牌、发送电子邮件、接收令牌和重置密码。顺便说一下,您可以使用node mailer或mandrill api通过节点应用程序发送邮件。@cg14密码管理的概念有很好的文档记录。