Rappel d’authentification de passeport n’est pas passé req and res

cette authentification fonctionne bien et je reçois une redirection:

server.post(authPostRoute, passport.authenticate( 'local' , { successRedirect: '/', failureRedirect: '/login' } )); 

cette authentification est suspendue après l’appel du rappel:

 server.post(authPostRoute, passport.authenticate( 'local' , function(){ console.log('Hitting the callback'); console.log(arguments)} )); 

cela enregistre la pièce suivante:

 { '0': null, '1': { id: [Getter/Setter], firstName: [Getter/Setter], lastName: [Getter/Setter], email: [Getter/Setter], addedOn: [Getter/Setter], active: [Getter/Setter], password: [Getter/Setter] }, '2': undefined } 

Cependant, tout au long de la documentation ( http://passportjs.org/guide/authenticate/ ), il semble que les req et les res doivent être passés, mais ce n’est évidemment pas le cas. Puis le code qui appelle le rappel:

node_modules \ passport \ lib \ middleware \ authenticate.js

  strategy.success = function(user, info) { if (callback) { return callback(null, user, info); } 

ne passe pas ces parameters. Qu’est-ce que je fais mal?

OK, je travaillais à extraire mon authentification personnalisée et à la remplacer par un passeport pendant 9 heures hier. Entre obtenir du noeud-orm d’exposer le modèle en dehors de la demande et gérer le stream de commandes, j’étais un peu épuisé. Les exemples de code sont exacts, je voulais juste lire plus attentivement:

 // traditional route handler, passed req/res server.post(authPostRoute, function(req, res, next) { // generate the authenticate method and pass the req/res passport.authenticate('local', function(err, user, info) { if (err) { return next(err); } if (!user) { return res.redirect('/'); } // req / res held in closure req.logIn(user, function(err) { if (err) { return next(err); } return res.send(user); }); })(req, res, next); }); 

Activez passReqToCallback pour obtenir la demande dans le rappel. Comme ça:

 passport.use(new FacebookStrategy({ clientID: '555555555555555', clientSecret: '555555555555555555555', callbackURL: "http://localhost:3000/auth/facebook/callback", enableProof: false, passReqToCallback: true }, // The request will be provided as 1st param function(req, accessToken, refreshToken, profile, done) { });...