SameSiteは、クロス サイト リクエスト フォージェリ(CSRF)攻撃からの保護を目的としたIETFドラフト規格です。ドラフト規格は2016年に原案が作成され、改めて2019年に更新が行われました。更新された規格は、旧規格との後方互換性はありません。
Google Chromeバージョン80において、SameSiteクッキーの扱いに関する破壊的変更が導入されました。その他のブラウザも今後同様の措置を講じ、この仕様変更による問題の影響を受けることが予想されます。
Sitecore Identity ServerはFederated Authenticationのデフォルトのプロバイダであるため、以下に記載されている解決策を貴社ソリューションに適用してください:
Sitecore Federated AuthenticationをSameSiteの変更に適合させる
- サーバーの.Net Frameworkのバージョンをアップデートします:
https://docs.microsoft.com/en-us/aspnet/samesite/kbs-samesite
- web.configの<system.web>セクションのクッキーのデフォルト値を次のように設定します:
<httpCookies sameSite="None" requireSSL="true" />
- Sitecore.Owin.Authentication.SameSite アーカイブをダウンロードして適用し、クッキーのチャンクの最大サイズを超えないようにします。アーカイブを解凍した後、readme.txtに記載されている手順に従って実施します。
- カスタムのIDプロバイダが設定されている場合、UseOpenIdConnectAuthentication()拡張メソッドを呼び出す際に、CookieManagerが指定されているかを確認します。 UseOpenIdConnectAuthentication()メソッドに渡されるOpenIdConnectAuthenticationOptionsオブジェクトでは、CookieManagerのプロパティが暗黙的に設定される必要があります。サービス コンテナに登録されたICookieManagerのインスタンスを使用します。これを、コンストラクタの依存関係として注入することができます。
Sitecore Identity ServerをSameSiteの変更に適合させる
- Sitecore.Plugin.Authentication.SameSiteアーカイブをダウンロードします。
- プラグインをSitecore Identity Serverにインストールします(手順の詳細については、アーカイブ内のreadme.txtを参照してください)。