SXA Storefrontのセキュリティドメイン
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
各店舗はデフォルトで独自の セキュリティドメイン を持ち、登録顧客は他の店舗で自動的に認証されません。複数の店舗を管理している場合、登録顧客が1つの店舗にログインして購入できる場合、管理する他の店舗ではログインできません。登録顧客がどの店舗にもログインできるようにするには、すべての店舗で同じセキュリティドメインを使用する必要があります。
デフォルトでは、商取引サイトを作成すると、サイト名と同じローカル管理のセキュリティドメインが作成され、Sitecore\App_Config\Securityフォルダ内のDomains.configファイルにこれらの変更を保存します。これにより、登録済み顧客はストアフロントサイトにログインできます。最初は、ドメインはスキャフォールディングが実行されるContent Management (CM)インスタンスでのみ作成されます。ドメインがライブサイトで有効になるには、Content Delivery(CD)インスタンスでも設定する必要があります。
CDサーバーインスタンスがCMインスタンスと分離されるスケール環境では、新しいドメインはSitecoreのすべてのCDおよびCMインスタンスに複製しなければなりません。
Commerce ConnectはSitecore.Commerce.Providers.DomainProviderインターフェースを定義します。SXA StorefrontはSXA Storefront基盤層にこのプロバイダーインターフェースの実装を含んでいます。ドメインプロバイダーは使用中のセキュリティドメイン名をCommerce ConnectとCommerceに返Connect API呼び出しごとにドメイン名を外部コマースシステムに渡します。
!警告すでに顧客アカウントを持つサイトのセキュリティドメインを変更すると、アカウントのドメインを更新しない限り、顧客はサイトへのアクセスを失います。
サイト用のセキュリティドメインを設定する
コンテンツエディターの /sitecore/Content///Settings/Site Grouping/ 項目で、サイトに使用するセキュリティドメインの名前を設定できます:

!注Sitecore 9.2以前は、Sitecoreインスタンス間でのセキュリティドメインの複製は手動作業でした。 newCxaSiteCreatedパイプラインの導入により、これはサイト作成の一環として自動的に行われています。 サイト作成パイプラインは 、独自のカスタムプロセッサを含めるようにカスタマイズ可能です。
新しいセキュリティドメインを設定した後は、それをCommerce Engine環境の設定に追加する必要があります。
Commerce Engine環境ポリシーに新しいセキュリティドメインを追加
新しいストアフロントセキュリティドメインを作成する際は、適切なCommerce Engine環境ポリシー.jsonファイルにそのドメインをCustomerPropertiesPolicyに追加しなければなりません。これは顧客が新しいストアフロントサイトでアカウントを正常に登録するために必要です。すべてのCommerce環境の環境ポリシー.jsonファイルを更新する必要があります。
CustomerPropertiesPolicyポリシーにセキュリティドメインを追加するには:
-
DevOpsロールを実行しているCommerce Engineのインスタンスでは、フォルダC:\inetpub\wwwroot\
\wwwroot\data\Environmentsに移動し、新しいストアフロントのShops環境のポリシーファイルを開きます。例えば、デフォルトのSitecore Commerce展開では、これはC:\inetpub\wwwroot\CommerceShops_Sc9\wwwroot\data\Environments\PlugIn.Habitat.CommerceShops-1.0.0.jsonです。 -
CustomerPropertiesPolicyセクションで"Domains"ブロックを見つけ、新しいセキュリティドメインを追加します。以下は、Commerce Engine SDKより)サンプルのCommerceデプロイに含まれるデフォルトのセキュリティドメインを含む構成例を示しています。
"$type": "Sitecore.Commerce.Plugin.Customers.CustomerPropertiesPolicy, Sitecore.Commerce.Plugin.Customers", "PreviewProperties": { "DetailsProperties": { "AddressDetailsProperties": { "Domains": "Storefront", "extranet", "CommerceUsers" "YOUR_NEW_SECURITY_DOMAIN"
!注セキュリティドメインの名前は大文字大文字に区別され、ストアフロントサイトの名前と正確に一致しなければなりません。セキュリティドメイン名とサイト名の不一致がある場合、顧客はストアフロントサイトに登録できません。
-
ステップ2を繰り返して、新しいサイトに属するすべての環境のファイル.json更新します。例えば*、オーサリング環境やミニオン*環境も含まれます。
-
Postmanを使ってCommerce Engineを起動 し、変更をグローバルデータベースに適用してください。