
![[8.5.5.4 以降]](../ng_v8554.gif)
Liberty プロファイルでの OpenID Connect プロバイダーの構成
Web シングル・サインオンを利用する OpenID Connect プロバイダー、つまり許可サーバーとして機能するように、Liberty プロファイル・サーバーを構成することができます。
このタスクについて
他の構成情報に加えて、Liberty プロファイルの openidConnectServer-1.0 フィーチャーを有効にすることで、OpenID Connect プロバイダーとして機能するように Liberty プロファイル・サーバーを構成することができます。
手順
- server.xml ファイルに openidConnectServer-1.0 の Liberty
フィーチャーと他の必要なフィーチャーを追加します。
openidConnectServer-1.0 フィーチャーには、ssl-1.0 フィーチャーも必要です。
<feature>openidConnectServer-1.0</feature> <feature>ssl-1.0</feature>
- OAuth サービス・プロバイダーを定義します。
OpenID Connect は、OAuth 2.0 プロトコルの上に構築されるため、有効な OAuth サービス・プロバイダーを構成する必要があります。
OAuth サービス・プロバイダーの構成には、適切な
oauth-roles、oauthProvider、およびユーザー・レジストリーのエレメントが含まれます。
また、OpenID Connect の使用を許可されたユーザーは authenticated oauth-role にマップされる必要があります。
詳しくは、OAuth サービス・プロバイダーの定義を参照してください。
OpenID Connect について OAuth メタデータが更新され、 クライアント・メタデータ内に主な追加があります。 クライアント登録に databaseStore モードを使用する場合、詳しくは、 クライアント登録要求を受け入れるための OpenID Connect プロバイダーの構成を参照してください。 この文書に従ってクライアントを管理することをお勧めします。 クライアント登録に localStore モードを使用する場合は、 scope、preAuthorizedScope、grantTypes、responseTypes、introspectTokens、 および functionalUserId を他の属性とともに登録できます。
- 構成済みの oauthProvider を参照する oauthProviderRef 属性を含む openidConnectProvider エレメントを追加します。
各 oauthProvider を参照できるのは、1 つの openidConnectProvider のみです。
2 つ以上の openidConnectProvider エレメントが同じ oauthProvider を参照することはできません。
client エレメントの name 属性と secret 属性は、
対応する OpenID Connect クライアントの client ID および client secret に一致しなければなりません。
以下の例は、デフォルトの Liberty プロファイル・サーバー OpenID Connect クライアントで動作します。 注: この例で、OP はクライアントの SSL ポートが 443 に設定されることを想定しています。
<openidConnectProvider id="OidcConfigSample" oauthProviderRef="OAuthConfigSample" /> <oauthProvider id="OAuthConfigSample"> <localStore> <client name="client01" secret="{xor}LDo8LTor" displayname="client01" scope="openid profile email" redirect="https://server.example.com:443/oidcclient/redirect/client01"/> </localStore> </oauthProvider>
注: 有効な client で、authorization_code 付与タイプについてその name、redirect、scope、および secret を登録する必要があります。 - サポートされる OpenID Connect リライング・パーティー、つまりクライアントの署名者証明書を含むように、サーバーのトラストストアを構成します。 鍵ストアについては、Liberty プロファイルの SSL 通信の使用可能化を参照してください。
- 構成されたトラストストアを使用するように、サーバーの SSL 構成を変更します。
<sslDefault sslRef="DefaultSSLSettings" /> <ssl id="DefaultSSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" /> <keyStore id="myKeyStore" password="{xor}Lz4sLCgwLTs=" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> <keyStore id="myTrustStore" password="{xor}Lz4sLCgwLTs=" type="jks" location="${server.config.dir}/resources/security/BasicTrustStore.jks" />
OpenID Connect は、サーバーで指定されたデフォルト SSL 構成を使用するように構成されます。 そのため、サーバーのデフォルト SSL 構成は、OpenID Connect に構成されたトラストストアを使用する必要があります。
OpenID Connect のユーザー同意フォームはプラグ可能で、これにより、プロバイダーが独自の同意フォームを作成して保守することができます。 このフォームは SSL で取得されるため、同意フォームがホストされるサーバーの署名者証明書を含むようにトラストストアを構成する必要があります。 デフォルトの同意フォームが使用され、OpenID Connect に使用されるトラストストアが、Liberty プロファイル・サーバーで使用される鍵ストアと異なるように構成された場合、 Liberty プロファイル・サーバーの署名者証明書を OpenID Connect トラストストアにインポートする必要があります。
OpenID Connect プロバイダーの構成オプションについては、 server.xml ファイルの構成エレメントを参照してください。
注: OpenID Connect を使用するために、scope 属性の有効範囲リストには openid が含まれる必要があります。
タスクの結果
サブトピック
OAuth 2.0 許可サーバーとしての OpenID Connect プロバイダーの使用
OpenID Connect プロバイダーは、通常の OAuth 2.0 許可プロバイダーとして使用して、OAuth 2.0 access_token を発行すること、およびすべての OAuth 2.0 許可タイプのサポートすることが可能です。ディスカバリー要求を受け入れるための OpenID Connect プロバイダーの構成
ディスカバリー構成エンドポイントは、OpenID Connect プロバイダー (OP) サーバーによってサポートされる機能に関する情報を使用可能にします。UserInfo エンドポイントで戻されるクレームの構成
UserInfo エンドポイントによって戻されたクレームをカスタマイズするように Liberty プロファイル OpenID Connect プロバイダーを構成することができます。2-legged OAuth 要求を使用可能にするための OpenID Connect プロバイダーの構成
標準的な OAuth フローは 3 つの「leg」(クライアントと認可サーバーとの間の対話のステージ) からなります。 leg が 2 つの (2-legged) OAuth シナリオでは、ユーザーとの対話が不要になるようにクライアントは事前認可済みのスコープを使用するので、 標準的なフローの leg のうちの 1 つは実行不要になります。具体的には、認可サーバーへの認証も、 要求されたスコープによって指定される情報を共有することへの同意も必要ありません。代わりに、すべての要求されたスコープ・パラメーターは事前認可済みであると見なされ、 自動的に要求トークンに追加されます。その後、この要求トークンが認可サーバーに送信されます。ID トークンの署名に RSA-SHA256 アルゴリズムを使用するための OpenID Connect プロバイダーの構成
ID トークンの署名に RS256 アルゴリズムを使用するように OpenID Connect プロバイダーを構成することができます。許可付与の JSON Web Token (JWT) を受け入れるための OpenID Connect プロバイダーの構成
アクセス・トークンの代わりに JSON Web Token を受け入れる OpenID Connect プロバイダーとして機能する Liberty プロファイル・サーバーを構成することができます。クライアント登録要求を受け入れるための OpenID Connect プロバイダーの構成
クライアント登録エンドポイントは、OpenID Connect プロバイダーを使用しようとする OpenID Connect リライング・パーティーに関する情報を登録、更新、削除、取得するための管理者の管理対象サービスです。 代わりに、登録プロセスは、リライング・パーティーがそれを使用するための情報 (OAuth 2.0 クライアント ID やクライアント秘密鍵など) を未指定の場合に提供できます。OpenID Connect カスタム・フォーム
ユーザー認証用のデフォルト・フォーム・ログイン・ページを置き換えたり、クライアント許可データを収集するための独自のユーザー同意フォームを開発したりすることができます。ユーザーの認証
OpenID Connect プロバイダーでは、ユーザー認証に従来型の Java™ Platform, Enterprise Edition (J2EE) FormLogin がサポートされます。

インフォメーション・センターに関するご使用条件 | フィードバック

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_oidc_op
ファイル名: twlp_config_oidc_op.html