如何使用passport.js身份验证从Facebook获取个人资料数据?

时间:2013-07-25 18:08:57

标签: node.js facebook-authentication passport.js

在下面的代码中,'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个人资料数据?

1 个答案:

答案 0 :(得分:3)

以上

callbackURL: "/home"

被错误地宣布。它应该是:

callbackURL: "/auth/facebook/callback"

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