6
由於從Express 4的你不應該做的如何將配置的護照對象傳遞到Express4中的路由模塊?
require('./app/routes.js')(app, passport); // load our routes and pass in our app and fully configured passport
module.exports = function(app, passport) {
// =====================================
// FACEBOOK ROUTES =====================
// =====================================
// route for facebook authentication and login
app.get('/auth/facebook', passport.authenticate('facebook', { scope : 'email' }));
// handle the callback after facebook has authenticated the user
app.get('/auth/facebook/callback',
passport.authenticate('facebook', {
successRedirect : '/profile',
failureRedirect : '/'
}));
// route for logging out
app.get('/logout', function(req, res) {
req.logout();
res.redirect('/');
});
};
相反,你應該使用express.Route()
功能和
var routes = require('./app/routes.js');
app.use('/', routes);
如何配置的護照進入的路線模塊Express 4?
偉大的答案!非常感謝! – bolerovt 2014-12-07 14:56:41
但是當我嘗試上面的實現時,我剛剛遇到了一個新問題:無法GET/auth/facebook/callback?code = **************並且沒有錯誤信息。我該如何處理這個問題? – bolerovt 2014-12-07 15:17:36
@bolerovt我從我的帖子中刪除了一些路由,以保持它的簡短,替換爲「//等」。您是否複製了該行,或者您是否擁有帶''/ auth/facebook/callback''的'router'和''/註銷'路線? – 2014-12-08 15:35:06