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." });
}
});
});
}));