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});
});

上記は 'undefined' を出力します。これは、上記の 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 に答える