ошибка при хешировании пароля с использованием bcrypt в NodeJs и Typescript - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужна помощь с моими кодами. Я успешно отправил хешированный пароль в базу данных, но часть входа в систему / аутентификации, где выполняется сравнение, не работает. В основном говорится, что пароль не определен.

Вот логика.

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);
...