0
我正在學習Node.s和Express,我正在從https://github.com/EvanHahn/Express.js-in-Action-code/tree/master/Chapter_08/learn-about-me以下示例。你能解釋下面的問題嗎?使用Express的節點護照流程
- 在「/登錄」後的路線,如果我需要訪問請求和響應對象,我應該怎麼辦呢?
- 什麼是LocalStrategy()中的「done」函數,以及我如何知道要傳遞哪個參數?看起來它需要3個參數,第二個參數是用戶對象,第三個參數是消息。第一個參數是什麼?
- 如何將用戶名和密碼從「/ login」後路由傳遞到LocalStrategy?幕後有什麼魔力?
router.post("/login", passport.authenticate("login", {
successRedirect: "/",
failureRedirect: "/login",
failureFlash: true
}));
passport.use("login", new LocalStrategy(function(username, password, done) {
User.findOne({ username: username }, function(err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: "No user has that username!" });
}
user.checkPassword(password, function(err, isMatch) {
if (err) { return done(err); }
if (isMatch) {
return done(null, user);
} else {
return done(null, false, { message: "Invalid password." });
}
});
});
}));