2017-05-12 19 views
0

のドキュメントがpassport-localである間、戦略には確認コールバックが必要であることが記載されています。 以下は提供されている例です。APIで検証コールバックはどのように使用されていますか?

passport.use(new LocalStrategy(
    function(username, password, done) { 
    User.findOne({ username: username }, function (err, user) { 
     if (err) { return done(err); } 
     if (!user) { return done(null, false); } 
     if (!user.verifyPassword(password)) { return done(null, false); } 
     return done(null, user); 
    }); 
    } 
)); 

ここでは、.verifyPassword(password)がコールバックとして使用されますか。 APIのリンクはthisです。

usernameの代わりにemailを指定したい場合は、どのようにこれにアプローチする必要がありますか?

+0

いいえ、それはパスワードを確認するための簡単なメソッド呼び出しです。あなたがコードを正しく字下げして書式を設定し始めると、より良いことがわかるかもしれません。 – baao

+1

このコードでの確認コールバックは、この関数です: 'function(username、password、done){...}' – robertklep

+0

ok got itthanks質問の最後の行である2番目の質問に答えてください。 @robertklep – Aditya

答えて

0

1)user.verifyPassword(パスワード) - 同期機能。

2)デフォルトでは、LocalStrategyは、ユーザ名とパスワードの名前が のパラメータで認証情報を見つけることを想定しています。あなたのサイトが異なっこれらのフィールドに名前を付けることを好む場合は、 のオプションはデフォルト値を変更することが可能です:

passport.use(new LocalStrategy({ 
    usernameField: 'email', 
    passwordField: 'passwd' 
    }, 
    function(username, password, done) { 
    // ... 
    } 
)); 
関連する問題