passport.js facebook身份验证未能正常工作

问题描述:

我试图实施的passport.js策略是针对Facebook提供商的策略。我已经测试了教科书示例(从https://github.com/passport/express-4.x-facebook-example),似乎重定向从不被调用。passport.js facebook身份验证未能正常工作

重定向序列可以正常工作,除非用户已经登录,它会重定向到主页,即使明确地在回调中放入不同的URL。

因此,除了最后一次重定向之外,一切都可以正常工作,最终应该会发生在https://xx.com/testing之间,这绝不会发生。

6的NodeJS,表达4+,护照3.2

到底哪里出问题了?

战略

passport.use(new FacebookStrategy({ 
    clientID: xx, 
    clientSecret: 'xx', 
    callbackURL: 'https://xx.com/auth/facebook/callback/', 
    profileFields: ['id', 'email', 'name', 'displayName'] 
}, 
    function (accessToken, refreshToken, profile, done) { 
     return done(null, profile) 
    } 
)) 

路线

router.get('/auth/facebook', passport.authenticate('facebook', {scope: ['public_profile', 'email']})) 
router.get('/auth/facebook/callback', 
    passport.authenticate('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 
    // never gets called 
    console.log('I don't get called!!!') 
    res.redirect('/testing') 
    }) 

/testingsuccessRedirect

passport.authenticate('facebook', { 
    successRedirect: '/testing', 
    failureRedirect: '/login' 
})); 

UPDATE:使用passport.authorize

router.get('/auth/facebook/callback', 
    passport.authorize('facebook', { failureRedirect: '/login' }), 
    function(req, res) { 
     res.redirect('/testing') 
    }); 
+0

按预期工作,但我想执行一些代码,然后重定向。 – Astuanax