
![[8.5.5.4 以降]](../ng_v8554.gif)
2-legged OAuth 要求を使用可能にするための OpenID Connect プロバイダーの構成
標準的な OAuth フローは 3 つの「leg」(クライアントと認可サーバーとの間の対話のステージ) からなります。 leg が 2 つの (2-legged) OAuth シナリオでは、ユーザーとの対話が不要になるようにクライアントは事前認可済みのスコープを使用するので、 標準的なフローの leg のうちの 1 つは実行不要になります。具体的には、認可サーバーへの認証も、 要求されたスコープによって指定される情報を共有することへの同意も必要ありません。代わりに、すべての要求されたスコープ・パラメーターは事前認可済みであると見なされ、 自動的に要求トークンに追加されます。その後、この要求トークンが認可サーバーに送信されます。
始める前に
このタスクについて
leg (ステージ) が 2 つのシナリオでは、Open ID Connect クライアントは、 grant type が client_credential または resource owner password である 2-legged HTTP 要求を送信できます。これらの要求は認可エンドポイントを通過しないので、 要求されたスコープをユーザーが確認して承認するためのスコープ同意フォームはありません。 ただし、OpenID Connect プロバイダーが access_token コンテンツ内の認可済みスコープを扱う必要があることに変わりはありません。
2-legged OAuth 要求を処理するために装備された OpenID Connect プロバイダーとして構成された Liberty プロファイル・サーバーは、 以下の基準を使用して、事前認可済みスコープを承認します。
- 要求の grant_type パラメーター値が client_credential または resource owner password であり、 かつ、要求が OAuth 2.0 要求である場合、要求に定義されているすべてのスコープは承認され、アクセス・トークンのコンテンツ内にコピーされます。これは、OAuth 2.0 フィーチャーの既存の動作です。
- 要求が OpenID Connect 要求または JWT Token OAuth である場合、以下の基準が使用されます。
- 要求にスコープ・パラメーターが指定されていない場合、OpenID Connect プロバイダーは要求を受け入れません。
- 要求されたスコープはクライアント構成の scope 属性によって定義されたスコープのリスト内になければならず、 クライアント構成の preAuthorizedScope リストにも指定されていなければなりません。
このタスクでは、2-legged OAuth 要求を使用可能にするための、OpenID Connect プロバイダーとして動作する Liberty プロファイルの構成方法を示します。
手順
<oauthProvider id="OAuthConfigSample" ...>
....
<localStore>
<client name="client01" secret="{xor}..."
displayname="client01"
scope="profile email phone"
preAuthorizedScope="profile email"
enabled="true" />
....
</localStore>
</oauthProvider>