1

OAuth2 を使用していくつかのソーシャル API をテストしていて、リダイレクト URL の問題に直面しています。私のアプリケーションは組み込みブラウザーを使用してサーバーからアクセス トークンを取得し、URL をhttp://localhostにリダイレクトしています。私のコンピューターでは正常に動作しましたが、他のユーザーのコンピューターではうまくいきませんでした。 Web サーバーがインストールされている場合、リダイレクト URL を設定するにはどうすればよいですか? また、アクセス トークンをコピーして手動で貼り付けるのではなく、アプリケーションがアクセス トークンをリッスンするようにするにはどうすればよいですか?

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

3

Web サーバーは必ずしも必要ではありません。STSに架空のものを登録し、redirect_uriホストされている WebBrowser を構成して、この URL へのリダイレクトをリッスンaccess_tokenし、STS が送信する URL のフラグメント部分から を抽出できます。STS からの応答は次のようになります。

http://fictitious.com/#access_token=some_token&token_type=bearer&expires_in=3600

したがって、暗黙的な付与フローを実装するには、次の2 つの手順があります。

  1. ホストされた WebBrowser を STS の認証エンドポイントに誘導します。http://sts.com/authorize?client_id=CLIENT_ID&response_type=token&redirect_uri=http%3A%2F%2Ffictitious.com%2F

  2. ユーザーは STS に対して認証さredirect_uriれ、最初の手順で提供された架空の URL にリダイレクトされます。

  3. この URL へのリダイレクトをインターセプトし、そこから を抽出しaccess_tokenます。

于 2013-06-23T15:44:45.513 に答える