我是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问题,但仍然没有得到它。
答案 0 :(得分:0)
passport.authenticate()(<args>);
passport.authenticate()
返回一个可以有三个参数的函数(req
,res
,next
)。您要问的代码/参数是传递给passport.authenticate()
返回的函数的这些参数。检查authenticate.js code on GitHub
但是,我不太清楚护照对字符串local
的作用。我想知道:
local
字符串足以让Passport了解内容
申请认证机制? local
策略后,护照会做什么(以及如何做)?