1. 安全

SXA Storefrontのセキュリティ ドメイン

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

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

各ストアフロントにはデフォルトで独自の セキュリティドメイン があり、登録済みの顧客は他のストアフロントで自動的に認証されません。複数のストアフロントを管理している場合、1つのストアフロントにログインして購入できる登録済みのお客様は、管理している他のストアフロントでは購入できません。これを変更して、登録済みのお客様が任意のストアフロントにログインできるようにするには、すべてのストアフロントに同じセキュリティドメインを使用する必要があります。

デフォルトでは、コマース サイトを作成すると、サイトと同じ名前のローカル管理のセキュリティ ドメインが作成され、Sitecoreはこれらの変更を \App_Config\SecurityフォルダーにあるDomains.configファイルに保存します。これにより、登録済みの顧客はストアフロント サイトにログインできます。最初は、ドメインはスキャフォールディングが実行されるコンテンツ管理(CM)インスタンスにのみ作成されます。ドメインをライブサイトで有効にするには、コンテンツ配信 (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> ・アイテムで構成できます。

The Domain field
メモ

Sitecore 9.2より前のバージョンでは、Sitecoreインスタンス間でのセキュリティ ドメインのレプリケーションは手動のプロセスでした。 newCxaSiteCreatedパイプラインの導入により、これはサイト作成の一部として自動的に行われるようになりました。 サイト作成パイプラインをカスタマイズし て、独自のカスタム プロセッサを含めることができます。

新しいセキュリティ ドメインを設定したら、そのドメインを Commerce Engine環境設定に追加する必要があります。

Commerce Engine環境ポリシーに新しいセキュリティドメインを追加する

新しいストアフロントセキュリティドメインを作成するときは、新しいドメインを適切なCommerce Engine環境ポリシー.jsonファイルのCustomerPropertiesPolicyに追加する必要があります。これは、顧客が新しいストアフロント サイトにアカウントを正常に登録するために必要です。すべてのCommerce環境の環境ポリシー.jsonファイルを更新する必要があります。

セキュリティ・ドメインをCustomerPropertiesPolicyポリシーに追加するには、次のようにします。

  1. 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です。

  2. CustomerPropertiesPolicy 」セクションで、「 "Domains" 」ブロックを見つけ、新しいセキュリティ・ドメインを追加します。次に、サンプルのCommerceデプロイメントに含まれるデフォルトのセキュリティドメインの設定例を示します (Commerce Engine SDKから)。

         "$type": "Sitecore.Commerce.Plugin.Customers.CustomerPropertiesPolicy, Sitecore.Commerce.Plugin.Customers",
            "PreviewProperties": {
            "DetailsProperties": {
            "AddressDetailsProperties": {
            "Domains": [
              "Storefront",
              "extranet",
              "CommerceUsers"
              "YOUR_NEW_SECURITY_DOMAIN"
    手記

    セキュリティ・ドメインの名前は大文字と小文字が区別され、ストアフロント・サイトの名前と完全に一致する必要があります。セキュリティドメイン名とサイト名が一致しない場合、お客様はストアフロントサイトに登録できません。

  3. 手順2を繰り返して、新しいサイトに属するすべての環境 (authoring環境やminions環境など) の環境.jsonファイルを更新します。

  4. Postmanを使用してCommerce Engineをブートストラップ し、変更をグローバル データベースに適用します。

この記事を改善するための提案がある場合は、 お知らせください!