セキュアクッキーとローカルJSSアプリ開発
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore 10.0.1以降、SitecoreはすべてのクッキーにデフォルトでSecureフラグを設定します。
これはJSSのローカル開発に影響を及ぼす可能性があり、JSSアプリケーションがHTTPS上で動作していない場合、プロキシされたSitecoreクッキー(分析クッキーを含む)がブラウザによって拒否されるからです。アプリケーションは訪問を追跡せず、コンテンツパーソナライズのルールを適用しない場合があります。
この問題を解決するには二つの選択肢があります。
- 地元のJSSアプリのセキュリティ。
- Sitecoreインスタンスのセキュリティ解除。
ローカルJSSアプリのセキュリティ確保
ローカル環境でHTTPSを有効にするには、ローカルのリバースプロキシやngrokのようなサービスを使うことができます。
開発用にコンテナでSitecoreを実行する場合(推奨)、docker-compose環境で提供されているTraefikリバースプロキシを利用できます。
!注Next.js用のSitecoreコンテナテンプレートはTraefikリバースプロキシで事前設定されています。
ngrokを使用している場合は、Hostヘッダーをローカルホスト名に書き換える必要があります。例えば:
ngrok http -host-header=rewrite 3000
Sitecoreインスタンスのセキュリティ解除
Sitecoreインスタンスにセキュアクッキーが不要であれば、ローカル環境はクッキー関連の問題なく動作することが期待できます。
!警告本番のSitecoreインスタンスでは、以下の設定を変更しないことを強くお勧めします。
セキュアクッキーの要件を回避するために、Sitecore web.configを以下のように変更できます:
- httpCookies構成では、requireSSLをfalseに、sameSiteをUnspecifiedに設定します。
- sessionState構成では、cookieSameSiteをUnspecifiedに設定します。