セキュアクッキーとローカルJSSアプリ開発

Version:
日本語翻訳に関する免責事項

このページの翻訳は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に設定します。
この記事を改善するための提案がある場合は、 お知らせください!