シングル サインアウト
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Identityサーバー (SIサーバー) からユーザーをサインアウトするには、認証Cookieを削除します。ただし、完全なフェデレーション サインアウトは、クライアント アプリケーション (場合によってはアップストリームIDプロバイダー) からユーザーをサインアウトすることも考慮する必要があることを意味します。
ユーザーがサインアウトしたときのクライアントへの通知
ユーザーがサインアウトしたときのクライアントへの通知
SIサーバーは、サーバー側クライアント (MVCアプリケーションなど) のフロントチャネル仕様をサポートします。これを使用して、ユーザーがサインアウトしたことをクライアント アプリケーションに確実に通知します。
フロントチャネル仕様を使用してサーバー側のクライアント アプリケーションからユーザーをサインアウトするには、SIサーバーのsigned outページで、ユーザーがサインアウトしたことをクライアントに通知する <iframe> をレンダリングする必要があります。通知するクライアントには、構成で指定されたFrontChannelLogoutUris設定の値が必要です。
この構成では、サインアウト エンドポイントURIを定義します。複数のサブノードを使用して複数のURIを定義したり、| 記号を使用してノード内のURIを区切ったりできます。また、{AllowedCorsOrigin} テンプレートを使用して、設定を簡略化することもできます。そのテンプレートを使用すると、すべてのオリジン (ホスト) にサインアウトが通知されます。
FrontChannelLogoutSessionRequired設定を使用して、サインアウトエンドポイントのオンとオフを切り替えます。
次に、設定の例を示します。
SIサーバーは、ユーザーがサインインしたクライアントを追跡し、IIdentityServerInteractionServiceサービスにAPI GetLogoutContextAsyncを提供します。このAPIは、サインアウト ページがa <iframe>にレンダリングする必要があるSignOutIFrameUrlプロパティを持つLogoutRequestオブジェクトを返します。
クライアントのサインアウト エンドポイント
クライアントのサインアウト エンドポイント
サインアウト プロセスを実行するには、クライアントはSIサーバーからの要求を処理するエンドポイントを実装する必要があります。Sitecoreインスタンスには、<Sitecore instance host name>/sitecore/shell/FrontChannelLogoutエンドポイントに実装があります。
Sitecore Hostアプリケーションのサインアウト エンドポイント
Sitecore Hostアプリケーションのサインアウト エンドポイント
Sitecore.Plugin.Authentication.OpenIdConnectプラグインには、サインアウト エンドポイントが含まれています。デフォルトでは <application host name>/sitecore/shell/FrontChannelLogoutですが、設定で別のアドレスを指定できます。