【发布时间】:2018-02-17 12:27:31
【问题描述】:
我正在尝试实施的 passport.js 策略是针对 facebook 提供者的策略。我已经用教科书示例(来自https://github.com/passport/express-4.x-facebook-example)进行了测试,似乎从未调用过重定向。
重定向序列可以正常工作,除非当用户登录时,它会重定向到主页,即使在回调中明确放置了不同的 URL。
所以除了最后一个重定向之外一切正常,它应该以https://xx.com/testing 结尾,这永远不会发生。
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')
})
【问题讨论】:
标签: javascript node.js facebook passport.js