在下面的代码中,'console.log('this not not print!')'语句不执行。它应该根据FacebookStrategy执行。
passport.use( new FacebookStrategy({clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: "/home"}, function(identifier, profile, done) {
process.nextTick(function () {
console.log(' This does not print!');
return done(null, profile);
}
);}));
基本上,通过passport-facebook进行身份验证,但我无法恢复任何配置文件数据。
app.get('/home', function(req, res){
console.log(req.user);
res.render('home', {user: req.user});
});
以上打印'undefined'表示上面的app.get(...)没有收到facebook个人资料数据。
我做错了什么?无论如何在认证后保存(获取)Facebook个人资料数据?
答案 0 :(得分:3)
以上
callbackURL: "/home"
被错误地宣布。它应该是:
callbackURL: "/auth/facebook/callback"
了解有关此讨论的更多信息https://github.com/jaredhanson/passport-facebook/issues/47