如何使用护照本地猫鼬更改密码?

Posted

技术标签:

【中文标题】如何使用护照本地猫鼬更改密码?【英文标题】:how to change password using passport-local-mongoose? 【发布时间】:2021-03-25 10:21:09 【问题描述】:

我已将 passport-local-mongoose 导入到我的代码中,我尝试注册和登录用户,一切都成功了,但现在我想更改特定用户的密码,我该怎么做?我已经阅读了 passport-local-mongoose 的文档,上面说您可以使用此方法更改密码

changePassword(oldPassword, newPassword, [cb])

但我不知道如何添加那个 cb 字段,我该怎么做呢?

【问题讨论】:

【参考方案1】:

会是这样的:

app.post('/changePassword', function (req, res) 
    if (typeof req.user === 'undefined') 
        res.redirect('/login')
     else 
        User.findOne( _id: req.user._id , function (err, user) 
            if (!err) 
                user.changePassword(req.body.oldPassword, req.body.newPassword, function (err) 
                    if (!err) 
                        res.redirect('/login')
                     else 
                        console.log(err);
                    
                )
             else 
                console.log(err);
            
        )
    
)

【讨论】:

以上是关于如何使用护照本地猫鼬更改密码?的主要内容,如果未能解决你的问题,请参考以下文章

护照本地猫鼬帐户注册的其他字段?

护照本地猫鼬中的密码验证器选项不起作用

本地护照和本地护照猫鼬的身份验证错误

如何在保存到数据库之前对密码进行哈希处理以与护照模块兼容(本地护照)

如何修复阻止注册用户登录的护照本地身份验证错误

如何在同一端点上使用护照 js 本地和基本策略?