![[17.0.0.4 and later]](../ng_v17004plus.gif)
Liberty のソーシャル・メディア選択フォーム
要求を保護するように構成されたソーシャル・メディア・プロバイダーが複数ある場合、WebSphere® Application Server Liberty は、デフォルト・ソーシャル・メディア選択フォームを提供します。このフォームは、保護リソース要求に対してユーザー自身を認証するため、Liberty サーバーに構成されている使用可能なプロバイダーから選択するためのオプションをユーザーに提供します。
デフォルト選択フォームに表示されるオプションは、元のリソース要求を保護するように構成されているプロバイダーのみです。元の要求を保護するように構成されていないプロバイダーは、オプションとして表示されません。さらに、ある特定の要求を保護するように構成されたプロバイダーが 1 つのみである場合、選択ページは表示されません。代わりに、認証のためにそのプロバイダーに自動的にリダイレクトされます。
単一プロバイダーの保護されたエンドポイントの認証フォームの構成
次の例では、Facebook および Twitter のログイン構成が削除されたため、すべてのエンドポイントを保護するソーシャル・メディア・プロバイダーはありません。linkedinLogin エレメントが新しく追加され、helloworld エンドポイントを保護します。同様に、googleLogin エレメントが新しく追加され、snoop エンドポイントを保護するように構成されています。
<githubLogin clientId="..." clientSecret="..." authFilterRef="filter_helloworld" />
<linkedinLogin clientId="..." clientSecret="..." authFilterRef="filter_helloworld" />
<googleLogin clientId="..." clientSecret="..." authFilterRef="filter_snoop" />
<authFilter id="filter_helloworld">
<requestUrl id="myRequestUrl" urlPattern="helloworld" matchType="contains" />
</authFilter>
<authFilter id="filter_snoop">
<requestUrl id="myRequestUrl" urlPattern="snoop" matchType="contains" />
</authFilter>
helloworld エンドポイントにアクセスしようとすると、GitHub と LinkedIn のオプションが含まれたデフォルト選択ページが表示されます。 GitHub と LinkedIn は、この特定のエンドポイントを保護するように構成されているため、認証オプションとして含まれます。しかし、Google はこのエンドポイントを保護するように構成されていないため、この要求のオプションとしては除外されます。
次に、snoop エンドポイントで使用可能な Web アプリケーションがサーバーで提供されていると想定します。snoop エンドポイントにアクセスしようとすると、選択は表示されずに Google にリダイレクトされます。Google はこのエンドポイントを保護するよう構成されている唯一のプロバイダーであるためです。
複数プロバイダーの保護されたエンドポイントの認証フォームの構成
次の例では、facebookLogin エレメントおよび twitterLogin エレメントは、認証フィルター参照を指定していないため、すべての要求を保護するように構成されています。githubLogin エレメントは、認証フィルター参照を使用して、helloworld エンドポイントを保護するように構成されています。認証フィルターの構成について詳しくは、認証フィルターを参照してください。
/acme エンドポイントで使用可能な Web アプリケーションが Liberty サーバーで提供されていると想定します。/acme エンドポイントにアクセスしようとすると、Facebook と Twitter のオプションが含まれたデフォルト選択ページが表示されます。Facebook と Twitter は、すべてのエンドポイントを保護するため、これらは選択ページに認証オプションとして含まれます。GitHub プロバイダーは、このエンドポイントを保護するように構成されていないため、この要求の選択フォームから除外されます。
次に、/helloworld エンドポイントで使用可能な Web アプリケーションがサーバーで提供されていると想定します。/helloworld エンドポイントにアクセスしようとすると、Facebook、Twitter、および GitHub のオプションが含まれたデフォルト選択ページが表示されます。最初の例と同じように、Facebook と Twitter は、すべてのエンドポイントを保護するため、選択ページに認証オプションとして含まれます。GitHub は、この特定のエンドポイントを保護するように構成されているため、認証オプションとして含まれます。