3

在下面的代码中,'console.log('this does 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});
});

上面打印“未定义”,这意味着上面的 app.get(...) 没有收到 facebook 个人资料数据。

我究竟做错了什么?身份验证后是否有保存(获取)Facebook 个人资料数据的方法?

4

1 回答 1

3

多于

callbackURL: "/home"

被错误地声明。它应该是:

callbackURL: "/auth/facebook/callback"

有关此讨论的更多信息https://github.com/jaredhanson/passport-facebook/issues/47

于 2013-07-26T02:58:57.820 回答