Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript passport.js facebook身份验证下一步不工作_Javascript_Node.js_Facebook_Passport.js - Fatal编程技术网

Javascript passport.js facebook身份验证下一步不工作

Javascript passport.js facebook身份验证下一步不工作,javascript,node.js,facebook,passport.js,Javascript,Node.js,Facebook,Passport.js,我尝试实施的passport.js策略是针对facebook提供商的。我已经使用教科书示例(来自)进行了测试,似乎从未调用重定向 重定向序列工作正常,除非用户登录时,它重定向到主页,即使在回调中显式地放置不同的URL 因此,除了最后一个重定向之外,其他一切都可以正常工作,最后一个重定向应该不会发生 nodejs 6,express 4+,passport 3.2 出什么事了 战略 passport.use(new FacebookStrategy({ clientID: xx, clie

我尝试实施的passport.js策略是针对facebook提供商的。我已经使用教科书示例(来自)进行了测试,似乎从未调用重定向

重定向序列工作正常,除非用户登录时,它重定向到主页,即使在回调中显式地放置不同的URL

因此,除了最后一个重定向之外,其他一切都可以正常工作,最后一个重定向应该不会发生

nodejs 6,express 4+,passport 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')
  })

/testing
转到
successRedirect

passport.authenticate('facebook', { 
    successRedirect: '/testing',
    failureRedirect: '/login'
}));
更新:使用
passport.authorize

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

这和预期的一样,但我想执行一些代码,然后重定向。