NodeJS 密码重置密码没有旧密码

9ceoxa92  于 2023-03-01  发布在  Node.js
关注(0)|答案(1)|浏览(179)

我是相当新的网络开发,我试图添加密码重置功能的网站使用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);
zzwlnbp8

zzwlnbp81#

我认为您不应该使用changePassword函数。
我不知道如何和为什么你需要改变密码以这种方式。
当你想使用令牌重置密码时,我相信这篇文章会对你有所帮助!https://blog.logrocket.com/implementing-secure-password-reset-node-js/

相关问题