1

facebook の oAuth フローについて知りたいことがあります。

私はFacebookのアプリケーションを持っています。

アプリケーション サイトに ( Facebook 経由ではなく)直接アクセスすると、つまりアプリケーション サイトの URL をアドレス バーに入力すると、アプリケーションにアクセスします。言いましょう: https://myApp.com/fbApp

サーバー側には oAuth フローがあります (「コード」パラメーターの要求を送信し、次に「コード」パラメーターを使用して「ユーザー アクセス トークン」の別の要求を送信します)。

「コード」パラメーターを要求しているユーザーが誰であるかを Facebook がどのように認識しているかを知りたかったのです。Facebook にログインしていて、(上記のように) 自分のサイトに直接アクセスすると、「ユーザー アクセス トークン」を取得していることに気付きました。

Facebook への最初のリクエストが「コード」パラメータに対して行われたとき、他の何かが舞台裏で転送されていますか?

4

1 に答える 1

0

はい、コードパラメータを取得するためにFacebookへの最初のリダイレクトリクエストが行われると、Facebookへの転送に使用されるURIにクライアントIDが含まれます(https://github.com/jcleblanc/oauth/blob/を参照) master / oauth2-php-facebook / index.php 7行目)。このクライアントIDは、サイト開発者がhttps://developers.facebook.com/appsで自分のサイト用に作成したアプリケーションを参照しています。

コードパラメータが取得された後、サイトはFacebookにHTTP POSTリクエストを送信して、コードをアクセストークンと交換します。このリクエストでは、クライアントIDとクライアントシークレットの両方が転送されます(https://github.com/jcleblanc/oauth/blob/master/oauth2-php-facebook/complete.php 10行目を参照)。これらの2つのキー、クライアントIDとクライアントシークレットは、作成されたアプリケーションを直接参照するキーです。

お役に立てば幸いです、ジョン

于 2012-11-29T19:43:55.530 に答える