【发布时间】:2018-10-15 06:45:47
【问题描述】:
我的facebook策略如下:
passport.use(new facebookStrategy({
clientID: envVars.facebook.clientID,
clientSecret: envVars.facebook.clientSecret,
callbackURL: envVars.facebook.callbackURL,
passReqToCallback : true,
profileFields: ['id', 'emails', 'displayName']
},
function(token, refreshToken, profile, done) {
console.log(profile); //prints out undefined
}
));
而我的路线是这样处理的:
router.get('/facebook', passport.authenticate('facebook'));
router.get('/auth/facebook/redirect', passport.authenticate('facebook'),
function(req, res){
res.redirect("/profile");
});
我的代码成功地做到了将用户引导到 Facebook,在那里他们被提示允许我的应用访问他们的数据。一旦接受,我的 console.log(profile) 会触发,但即使用户接受许可,它也会打印出 undefined ?我已经搜索了文档,但似乎无法弄清楚我哪里出错了。
【问题讨论】:
标签: node.js oauth-2.0 passport.js passport-facebook