2016-07-04 5 views
2

私のNode.jsアプリケーション用のログインシステムが設定されています。最近、私は私のユーザモデル(CoffeeScriptの)に変更を加え、次のようにbcryptのでパスワードハッシュを比較するbcrypt-nodejsによってスローされた「不正な引数」 - パスポート

password: String 

password: 
     type: String 
     select: false 

へMy機能は次のとおりです。

userSchema.methods.validPassword = (password) -> 
     bcrypt.compareSync password, @local.password 

今たびI上記の関数を実行すると、このエラーがスローされます。

Incorrect arguments 

私のユーザーモデルに「select:false」を追加した後、誰がこれがなぜスローされるのでしょうか?

答えて

-1

パスワードの値がpopulatedになっているかどうかを確認します.settingをfalseに設定すると、パスワードの値は取得されません。

0

パスワードまたは@ local.passwordのいずれかが文字列でない場合にスローされます。ロードされた属性の@ local.passwordを含まないインスタンスでインスタンスメソッドを呼び出そうとしていたときに、ちょうど私に起こりました。

0
userSchema.methods.validPassword = (password) -> 
    bcrypt.compareSync password, @local.password 

これはクラスであると仮定すると、あなたは@localが動作するためには=>ではなく->が必要になります。

関連する問題