Gibt es eine Möglichkeit, facebookResponse
als eine Zeigerfunktion zu verwenden, anstatt eine Anon-Funktion zu verwenden und auf req, res, next
zuzugreifen? Ich dachte über die Verwendung von bind
, aber ich weiß nicht, wie ich das binden würde. get()
Methode der Route. Ich hatte keinen Erfolg mit passport.authenticate('facebook',facebookResponse.call(this, req, res, next)
.Haben Zeigerfunktion Args von .get() closure erhalten?
auth.route('/auth/facebook/callback')
.get(function(req, res, next) {
passport.authenticate('facebook', facebookResponse);
});
function facebookResponse(err, userDoc, info) {
if (err) { return next(err); }
// I don't think !userDoc will ever happen because of mongo upsert
if (!userDoc) { return res.redirect('/login'); }
req.logIn(userDoc, function(err) {
if (err) { return next(err); }
return res.redirect('http://localhost:9000/users');
});
}
tolle Idee! Aus irgendeinem Grund mag pass.js es nicht und es hängt an der Route. Es gibt keinen Fehler so schwer zu sagen, warum. – dman