Мне нужна помощь с моими кодами. Я успешно отправил хешированный пароль в базу данных, но часть входа в систему / аутентификации, где выполняется сравнение, не работает. В основном говорится, что пароль не определен.
Вот логика.
const salt = bcrypt.genSaltSync(10);
let tohash;
function hashPass(password) {
tohash = bcrypt.hashSync(password, salt, function (err, hash) {
if (err) return err;
user.password = hash;
});
console.log('Password is ' + password);
console.log('Tohash is ' + tohash);
return { tohash: tohash };
}
function correctpass(password, user) {
console.log('Tohash here is ' + tohash);
let deHash = bcrypt.compare(password, user.password, function (err, result) {
console.log('Password is ' + password);
if (err) {
console.log('Incorrect password');
}
console.log('Correct Password');
return result;
});
return { deHash: deHash };
}
export { hashPass };
export { correctpass };
Здесь вызов выполняется с помощью Sequelize
const unHash = правильный пароль (пароль);
попробуй {
user.findOne({
where: {
id : 55,
email: "preciousegunjobi05@yahoo.com",
//password: isPasswordCorrect.password.toString(),
password: unHash.deHash(req.body.password),
user_type: "tutor"
}
}).then(userdetails => {
res.send(userdetails);
console.log("data is " + userdetails);