Я устанавливаю простой логин с паспортом, при попытке сравнить пароль пользователя с сохраненным паролем возникает ошибка
module.exports = function (passport) {
passport.use(new LocalStrategy(function (username, password, done) {
let query = { email: username };
User.find(query, function (err, user) {
if (err) {
console.log(err);
}
else {
if (!user) {
console.log(3)
return done(null, false, { message: 'No user found' })
} else {
bcrypt.compare(password, user.password, function (err, isMatch) {
if (err) {
console.log(err);
} else {
console.log(user.password)
if (isMatch) {
console.log(5)
return done(null, user);
} else {
console.log(6)
return done(null, false, { message: 'Wrong Password' })
}
}
})
}
}
})
}));
, когда я console.log(user)
:
[ { _id: 5c5995448a88110c35673bb7,
firstname: 'test',
lastname: 'sample',
email: 'testsample@gmail.com',
password:
'$2b$10$bDVGjce/aDxr/NzXFw.qO.DA4tKjY6EwMARgl/NZfb0FNTaTxYwCW',
__v: 0 } ]
, но используюbcrypt, user.password
приводит к undefined
при попытке сравнить сохраненный пароль с записью password
формы, но, похоже, пароль был получен из результатов запроса, как видно из результатов console.log(user)
.