Если вы хотите изучить bcrypt, я рекомендую вам посетить bcrypt NPM, потому что это сэкономит вам слишком много времени,
, в вашем случае я внес некоторые изменения в ваш код чтобы проверить текущий пароль OLD
, а затем сравнить newPassword1
с подтверждением passwordConfirmation
, не стесняйтесь использовать console.log('')
, если у вас есть какие-либо сомнения, это даст вам хороший результат. видение о вашем статусе кода
const changePassword = async (req, res, next) => {
let id = req.body.nid;
if(id){
console.log('Im here')
const old = req.body.old;
const newP = req.body.newP;
const newP2 = req.body.newP2;
User.findById(id,(err,user)=>{
if(user){
console.log(user)
const hash = user.password;
bcrypt.compare(old,hash,function (err,res){
if(res){
if(newP === newP2){
bcrypt.hash(newP,10, (err,hash)=>{
user.password = hash;
user.save( (err,user) =>{
if(err) return console.error(err);
console.log(user.userName +' your password has been changed');
});
});
};
};
});
}
})
}
}