Вы объявляете функцию и вызываете ее немедленно .. Вы делаете это, чтобы получить доступ к объекту req
внутри passport.authenticate
.
Так что, если вам нужен доступ к объекту запроса внутри passport
, вам нужен пользовательский обратный вызов. Ваш код, похоже, не использует объект req
, поэтому вы просто используете
app.post("/protected",passport.authenticate("local",{
successRedirect:"/user",
failureRedirect:"/login"
}),function(req,res){
});
А если вашему приложению необходим доступ к объекту req, то:
app.get('/protected', function(req, res, next) {
passport.authenticate('local', function(err, user, profile) {
if (err) { return next(err) }
if (!user) { return res.redirect('/signin') }
res.redirect('/account');
})(req, res, next);
});
Подробнее @ https://github.com/jaredhanson/passport/issues/1