3

OAuth 2.0設定で、「クライアント資格情報の付与」フローに従って「アクセストークン要求」を実行するアプリケーションがあるとします。つまり、他のアプリケーションによって公開されているいくつかのAPIにアクセスするアプリケーションAがあります。Oauth 2.0で指定されているように、この場合、「アプリケーションA」はクライアントの資格情報のみを使用し、ユーザーの資格情報は使用しません。

ここで、アプリケーションAが2つ以上のアプリケーション(たとえば、アプリケーションBとC)から公開されたAPIにアクセスしたいとします(たとえば、アプリケーションAはBとCのAPIへのアクセスを調整して構成されたサービスを提供します)。また、BとCは異なるドメイン(b.comとc.comなど)にありますが、A、B、Cは共通のOAuth認証サーバーを共有しています。

  1. Aが同じトークンでBとCにアクセスできるように、Aがb.comドメインとc.comドメインの両方のリソースをスコープ内に持つ単一のアクセストークンを要求することは可能ですか?

  2. どうすればこれを入手できますか?

  3. これが不可能な場合、同様のケースを管理するためのベストプラクティスはありますか?

OAuth 2.0の仕様では、トークンのリクエストまたは発行中に複数のスコープを指定できることを知っていますが、ここでのポイントは、BとCが異なるドメイン(たとえば、b.comとc.com)にあることです。

よろしくお願いします。

コラズ

4

1 に答える 1

1
  1. はい、これは確かに可能です。
  2. 仕様から

リソース サーバーがアクセス トークン (およびエラー応答) を検証するために使用する方法は、この仕様の範囲を超えていますが、通常、リソース サーバーと承認サーバー間の対話または調整が必要です。

したがって、これは実装とトークンのタイプに完全に依存します。アクセストークンが承認サーバーによって発行され、まだ有効であることを確認する必要があります。ドメインが異なっていても、これには何の影響もありません。

おそらく最も広く使用されている方法は、リソース サーバーでデータベース ルックアップを実行して、アクセス トークンがそこに格納されているかどうか (したがって有効かどうか) を確認し、そのテーブルを承認サーバーと同期させることです (または、A、B、および A に同じデータベースを直接使用します)。 C)。3. 1 を参照してください。;)

于 2012-10-19T15:32:47.030 に答える