1

私は何日もインターネットで検索してきましたが、適切な例が見つからないようです。私のoauth2フローの理解は次のとおりです(間違っている場合は修正してください):

  1. クライアント プログラムは facebook に request_token を要求します
  2. クライアント プログラムはブラウザを起動し、client_id と request_token を含むアドレスをブラウザに渡します。
  3. ユーザーがログイン/サブスクライブし、request_token を受け入れる
  4. フォーカスがクライアント プログラムに返されるとすぐに、プログラムは以前に取得した request_token を送信して、承認されていることを確認します。もしそうなら、アクセストークンが返されます
  5. access_token が有効である限り、クライアント プログラムは必要なものに自由にアクセスできます。

これは oauth2 スタブとこのページで確認されているようですが、facebook で request_token を取得する方法が見つかりません。ここでも、役立つものは何も見つかりませんでした。access_token または access_token を含む signed_request を取得することも問題ありません。

プログラムを実行するプラットフォームには、MacOSX、iOS、Win32、Linux が含まれます。現在、http/https 通信を行うことができ、Win32 での ShellExecute() などのプラットフォーム固有のコードは受け入れられます。

4

1 に答える 1

0

OAuth 1.0 を実装しているプロバイダーのドキュメントを見るのではなく、公式ドキュメントを調べてみませんか?

Facebook はお客様の要件に直接適合するフローを実装していないため、次に使用する最適なフローはクライアント側認証フローです。

基本的には次のように機能します。

  1. アプリケーションからいくつかの Web ブラウザー/ビューを開き/dialog/oauth、パラメーターをクエリ文字列として使用して Facebook のエンドポイントに送信します。
  2. ユーザーにログインさせ、その中のアプリケーションへのアクセス権を付与します。
  3. access_tokenブラウザー ビューで応答リダイレクトからフラグメントをキャッチします。

アプリケーションから Web ブラウザー/ビューを開く方法と、リダイレクトをキャッチする方法は、使用しているオペレーティング システム/ライブラリに大きく依存しますが、少し調べれば実行できるはずです。

于 2012-09-05T15:42:24.503 に答える