我是相当新的网络开发,我试图添加密码重置功能的网站使用Passport.js.护照有changePassword方法,其工作原理如下
requiredUser.changePassword(oldpassword,
newpassword, function(err) {
})
但是我需要一个旧密码来更新我的密码,我不知道。我不想在用户模式中存储我的旧密码。我可以用其他方法重置我的密码吗?比如我的ID?
编辑:我知道这个功能是错误的重置,但我找不到其他选项来改变它。
我的用户架构是:
const mongoose = require('mongoose');
mongoose.set('strictQuery', false);
const Schema = mongoose.Schema;
const passportLocalMongoose = require('passport-local-mongoose');
const UserSchema = new Schema({
email: {
type: String,
required: true,
unique: true
}
});
UserSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model('User', UserSchema);
我正在创建用户:
const { username, email, password } = req.body;
const user = new User({ username : username , email: email});
const rUser = await User.register(user , password);
1条答案
按热度按时间zzwlnbp81#
我认为您不应该使用changePassword函数。
我不知道如何和为什么你需要改变密码以这种方式。
当你想使用令牌重置密码时,我相信这篇文章会对你有所帮助!https://blog.logrocket.com/implementing-secure-password-reset-node-js/