Liberty プロファイル用の LTPA Cookie を使用した SSO 構成のカスタマイズ
シングル・サインオン (SSO) 構成サポートを使用すると、Web ユーザーは、Liberty プロファイル・リソース (HTML、JavaServer Pages (JSP) ファイル、サーブレットなど) にアクセスする際、または同じ Lightweight Third Party Authentication (LTPA) 鍵を共有する複数の Liberty プロファイル・サーバー内のリソースにアクセスする際に、1 回で認証できます。
例
ユーザーが Liberty プロファイル・サーバーのいずれかで認証に成功すると、そのサーバーが生成した認証情報が、Cookie で Web ブラウザーに送られます。Cookie は、他の Liberty プロファイル・サーバーに認証情報を伝搬させるために使用されます。
LTPA はすぐに使用できるように構成および準備されています。SSO トークンを保管するために使用されるデフォルトの Cookie 名は、ltpaToken2 です。 Cookie に別の名前を使用する場合は、<webAppSecurity> エレメントの ssoCookieName 属性を使用して Cookie 名をカスタマイズできます。Cookie 名をカスタマイズした場合は、必ず、SSO に参加するすべてのサーバーが同じ Cookie 名を使用するようにしてください。
SSO について 詳しくは、『Liberty プロファイル での SSO の概念』を参照してください。
以下のコード例では、HTTP セッションの有効期限が切れた後でユーザーがログアウトするように設定し、SSO Cookie の名前を myCookieName と設定します。
<webAppSecurity logoutOnHttpSessionExpire=”true” ssoCookieName=”myCookieName” />
注: Liberty サーバー、完全プロファイル・サーバー、またはその両方のサーバー間で SSO が機能するために、以下のようなリソースを設定してください。
- サーバーは、同じ LTPA 鍵を使用し、同じユーザー・レジストリーを共有する必要があります。
- サーバーが同じドメイン内にない場合には、<webAppSecurity> エレメントの ssoDomainNames 属性を使用して、ドメインをリストします。以下のサンプル・コードでは、ドメイン・ネームを domain.com に設定しています。
<webAppSecurity ssoDomainNames="domain.com" />
- サーバーが同じドメイン内にある場合は、<webAppSecurity> エレメントの ssoUseDomainFromURL 属性を true に設定するか、ssoDomainNames 属性にドメイン・ネームを指定します。以下のサンプル・コードでは、要求 URL からドメイン・ネームを取得できるように、ssoUseDomainFromURL を true に設定しています。
<webAppSecurity ssoUseDomainFromURL="true" />
使用可能なすべての SSO 設定について詳しくは、『server.xml ファイルの構成エレメント』の <webAppSecurity> エレメントを参照してください。