【发布时间】:2016-08-07 15:59:20
【问题描述】:
我是新来的passportJS,想看懂这段代码:
app.get('/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (!user) { return res.redirect('/login'); }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/users/' + user.username);
});
})(req, res, next);
});
有人可以向我解释一下这段代码的流程吗?以及(req, res, next); 在 passport.authenticate 函数的末尾做了什么?
我也已经阅读了this 的问题,但还是不明白。
【问题讨论】:
-
好吧,它处理“登录”的路由,并尝试在本地级别进行身份验证,如果遇到任何错误,它会显示相同的内容,如果用户未通过身份验证,则将他重定向到登录,否则他将被重定向到
\users路由/页面。(req, res, next)实际上是您传递给函数参数的值。 -
"(req, res, next) 实际上是您传递给函数参数的值。"对不起,你的意思是什么功能?
-
所以 (req, res, next);是否包含登录回调?如果是正确的(req,res,next)与passport.authenticate函数相关的函数是什么?
标签: javascript node.js passport.js