Здравствуйте! Для шифрования пароля использовал библиотеку bcrypt. При сравнение пароля полученного от клиента и с бд, получаю пустой объект. Кто знает в чем может быть проблема?
router.post('/sign_in', [
check('email', 'Введите корректный email').normalizeEmail().isEmail(),
check('password', 'Введите корректный password').exists()
],
async (req, res) => {
try {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.send({message: 'Введены не корректные данные'});
}
const {email, password} = req.body;
const user = await User.findOne({email});
if (!user) {
return res.send({message: 'Не правильно введен логин или пароль'});
}
const isMatchPassword = bcrypt.compare(password, user.password);
if (!isMatchPassword) {
return res.send({message: 'Не правильно введен логин или пароль'});
}
const token = jsonWebToken.sign(
{userId: user.id},
config.jwtSecretKey,
{expiresIn: '1h'}
);
res.send({token, userId: user.id});
} catch (e) {
console.error(e.message);
}
});