在我的用户模型中,我定义了一个生命周期挂钩,用于使用bycrypt加密密码。
beforeCreate: function(acc, next) {
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(acc.password, salt);
acc.password = hash;
}
}
这很好用。但是现在我实现了Oauth google登录到该项目。在那种情况下,我想绕过这个钩子。
If(acc.password){
encrypt
}else{
skip
}
我尝试过
hooks: {
beforeCreate: function(acc, next) {
if(acc.password){
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(acc.password, salt);
acc.password = hash;
}else{
return next
}
}
}
但这似乎行不通。 当req.body不提供password属性时,如何跳过该钩子。
任何帮助 谢谢先进!。
答案 0 :(得分:0)
您需要像下面这样的方法来调用next:next()
。