bcrypt-nodejs抛出的错误参数 – Passport
我有一个login系统为我的Node.js应用程序设置。 最近,我改变了我的用户模型(CoffeeScript):
password: String
至
password: type: String select: false
我的函数比较密码哈希与bcrypt如下:
userSchema.methods.validPassword = (password) -> bcrypt.compareSync password, @local.password
现在,每当我运行上面的函数,这个错误被抛出
Incorrect arguments
任何人有任何想法,为什么这会抛出后,我的用户模型中添加“select:false”?
如果密码或@ local.password不是string,则会引发此错误。 它只是发生在我身上,因为我试图调用实例方法的实例,不包括加载属性中的@ local.password。
userSchema.methods.validPassword = (password) -> bcrypt.compareSync password, @local.password
假设这是在一个类中,你需要=>
而不是->
才能使@local
工作。
检查密码的值是否越来越populated.settingselectfalse将不会检索密码的值。