0
有人可以幫助我弄清楚爲什麼bcrypt.compareSync
功能不會對我的情況下工作:bcrypt.compareSync不上sequelize工作
型號/ patient.js
const bcrypt = require('bcryptjs');
module.exports = (sequelize, Sequelize) => {
const Patient = sequelize.define('Patient', {
email: {
type: Sequelize.STRING,
allowNull: false,
},
password: {
type: Sequelize.STRING,
allowNull: false,
},
}, {
classMethods: {
associate: (models) => {
// associations can be defined here
}
},
instanceMethods: {
//
verifyPassword: function(password,hash) {
bcrypt.compareSync(password,hash);
}
}
});
return Patient;
};
控制器/ patients.js EDITED
retrieve(req, res) {
return Patient
.find({
where: {
email: req.body.email,
}
})
.then(patient => {
const result = Patient.build().verifyPassword(req.body.password, patient.password);
if (!result) {
console.log('wrong password')
} else return res.status(201).send(patient);
})
}
我的要求應該返回患者對應於上要求輸入的電子郵件地址和密碼,但它返回此:
編輯:錯誤的問題解決了,但仍然得到錯誤的結果(它返回「密碼錯誤」的字符串),甚至當我提出一個請求正確的密碼。
那麼錯誤是什麼? – zerkms
我的請求沒有任何迴應,但它應該返回與請求中鍵入的電子郵件和密碼相對應的患者。 –
你有'錯誤',你爲什麼不輸出它?永遠不要忽略錯誤,他們是有原因的。 – zerkms