2017-09-04 6 views
0

ユーザーがパスワードを変更できる機能を使用したいと考えています。 私はこのようなルート('/ resetPasswd')を実装しました:passport-local-mongoose changePassword機能

{ 
    "oldpassword": "secret", 
    "newPassword": "new" 
} 

しかし、私は、応答として、このエラーを取得する:これは私がボディとして送信するものである

UserRouter.route('/resetPasswd') 

.post(function (req, res, next) { 
    passport.authenticate('local', function (err, user, info) { 
     user.changePassword(req.body.oldPassword, req.body.newPassword, function (err, user) { 
      if (err) next(err); 
      res.json('password changes successfully !'); 
     }) 
    })(req, res, next); 
}); 

{ 
    "message": "user.changePassword is not a function", 
    "error": {} 
} 

、これが私のスキーマの写真です:

ユーザー・スキーマ:

user schema

私はそれが パスポート・ローカル・マングースによって提供されているので、私はそれを追加しましたが、私は、(私のスキーマに CHANGEPASSWORD関数を宣言すべきであるとは思わない

が、それでも同じエラーが発生する)私はここで何を間違えているのですか?

+0

スキーマとミドルウェアをスキーマに表示できますか? – turmuka

+0

このリンクを参考にしてくださいhttp://sahatyalkabov.com/how-to-implement-password-reset-in-nodejs/それはあなたのために役立つでしょう... –

+0

@turmuka:私はすでに私のスキーマの画像を私の投稿 –

答えて

1

実際に誰かが同じ問題を抱えていました。彼らの問題は、アップデートが必要なパッケージでした。あなたが最新バージョンであることを確認します。

関連する問題