LocalStrategy がどのように機能するかを理解したいです。
これが私のサーバーファイルの一部です:
var passport = require('passport');
var express = require('express');
/* other initializations */
var app = express();
passport.use = new LocalStrategy(
function(email, password, done) {
module.exports.findByUsername(email, function(err, user){
if (err) throw err;
if(!user) {
done(null, false, { message: 'Incorrect username.' });
}
else if(user.password != password) {
done(null, false, { message: 'Incorrect password.' });
}
else {
return done(null, user);
}
});
}
)
app.post("/login"
, passport.authenticate('local',{
successRedirect : "/",
failureRedirect : "/login",
}) ,
function(){
console.log("post /login");
}
);
ここで、クライアント ブラウザから http post リクエストを に送信していhttp://localhost:8000/login
ます。認証が成功した場合、ユーザーはルート ページにリダイレクトされ、"/"
失敗した場合、ユーザーは再度ログイン ページにリダイレクトされます。
問題は、新しい LocalStrategy を定義するときに、function(email,password, done){...}
. ただし、この関数を呼び出すときにapp.post("/login", ...){...}
、メールとパスワードのパラメーターを渡すにはどうすればよいですか?