1

node/expressでpassport-facebookを使用するときにFacebook認証がどのように機能するかを調べようとしています。

callbackURL と以下に続く関数について混乱しています。

コールバック URL の設定の違いを説明してもらえますか (これは、ログイン試行が成功した場所ですか? と、ログイン後に呼び出されるように見える関数 (accessToken、...) です。

passport.use(new FacebookStrategy({
    clientID: FACEBOOK_APP_ID,
    clientSecret: FACEBOOK_APP_SECRET,
    callbackURL: "http://localhost:3000/auth/facebook/callback"
  },
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ facebookId: profile.id }, function (err, user) {
      return done(err, user);
    });
  }
));
4

1 に答える 1

3

callbackURLは、Facebook の Web サーバー自体がプロセスの最後に使用する URL です。Facebook のサーバーは 301 リダイレクト応答を送信し、ユーザーのブラウザーがこの URL に移動するようにします。したがって、これは基本的に、facebook 自体に送信する構成オプションであり、passport.js はいつ、どこに送信するかの詳細を処理します。oauth ダンス全体が完了すると、コールバック関数は、passport がコードに制御を戻し、「ねえ、うまくいったようです。これがログインしているユーザーの利点です」と言う方法であるため、findOrCreate. その関数内の詳細は通常、アプリケーションごとに異なりますが、oauth ダンスは常に同じです。そのため、passport はそこで関数コールバックを使用します。これにより、アプリケーション固有またはカスタム ロジックのフックが可能になります。

于 2013-10-31T15:13:06.333 に答える