【发布时间】:2018-06-01 16:58:39
【问题描述】:
我正在使用 nodejs/express/sequelize 开发一个 API。
实际上,当我创建用户帐户时。由于 bcrypt,我得到了一个 Hook 'beforeCreate' 哈希用户密码:
User.hook('beforeCreate', (user) => {
if (user.password) {
user.password = bcrypt.hashSync(user.password, bcrypt.genSaltSync(10), null);
}
});
user.password 是我注册时提供的密码。
这部分运行良好。
其次,我有一个更新此用户帐户的功能。从逻辑上讲,我添加了一个 'beforeUpdate' 引擎盖:
User.hook('beforeUpdate', (user) => {
console.log(user);
if (user.password) {
user.password = bcrypt.hashSync(user.password, bcrypt.genSaltSync(10), null);
}
});
但我遇到了一个问题,因为user.password 不是我在 PATCH 请求中提供的数据,而是我数据库中的散列密码。
我猜是模型密码而不是实例密码……我不知道。 如果有人可以帮助我获取查询值,那就太好了。
【问题讨论】:
标签: javascript node.js sequelize.js hook