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/<tenant>/<site>/Settings/Site Grouping/<storefront> アイテムで、サイトに使用するセキュリティ ドメインの名前を設定できます。
![[ドメイン] フィールド](https://resources.doc.sitecore.com/assets/image/16114c44d018e9.png)
Sitecore 9.2 より前は、Sitecore インスタンス間でセキュリティ ドメインを複製することは手動のプロセスでした。newCxaSiteCreated
パイプラインの導入に伴い、このプロセスはサイト作成の一環として自動的に行われるようになりました。サイト作成パイプラインをカスタマイズして、独自のカスタム プロセッサーを含めることができます。
新しいセキュリティ ドメインを設定したら、Commerce Engine 環境設定に追加する必要があります。
Commerce Engine 環境ポリシーへの新しいセキュリティ ドメインの追加
新しいストアフロント セキュリティ ドメインを作成するときは、適切な Commerce Engine 環境ポリシー .json
ファイルの CustomerPropertiesPolicy
に新しいドメインを追加する必要があります。これは、顧客が新しいストアフロント サイトに正常にアカウントを登録するために必要です。すべての Commerce 環境に対して環境ポリシー .json
ファイルを更新する必要があります。
CustomerPropertiesPolicy
ポリシーにセキュリティ ドメインを追加するには、次の手順に従います。
-
DevOps ロールを実行している Commerce Engine のインスタンスで、
C:\inetpub\wwwroot\<CommerceEngineInstance>\wwwroot\data\Environments
フォルダーに移動し、新しいストアフロントの shops 環境のポリシー ファイルを開きます。たとえば、デフォルトの Sitecore Commerce デプロイでは、これはC:\inetpub\wwwroot\CommerceShops_Sc9\wwwroot\data\Environments\PlugIn.Habitat.CommerceShops-1.0.0.json
です。 -
CustomerPropertiesPolicy
セクションで"Domains"
ブロックを見つけ、新しいセキュリティ ドメインを追加します。次に、サンプルの Commerce デプロイ (Commerce Engine SDK 内) に含まれているデフォルトのセキュリティ ドメインを使用した設定例を示します。RequestResponse"$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 のブートストラップを行い、グローバル データベースに変更を適用します。