Anon işlevi kullanmak yerine facebookResponse
işaretçi işlevi kullanmak için bir yol var mı ve req, res, next
erişim hakkına sahip mi? bind
'u kullanmayı düşündüm ama nasıl bağlarım bilmiyorum. Rotanın get()
yöntemi. passport.authenticate('facebook',facebookResponse.call(this, req, res, next)
ile başarı elde edemedim.İşaretçi işlevi, .get() kapamadan alma hatalarını alsın mı?
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');
});
}
Harika bir fikir! Ancak bir sebepten dolayı, passport.js bunu sevmiyor ve rotada kalıyor. Neden olduğunu söylemek zor bir hata yok. – dman