ハイブリッド認証

B2C Commerce バージョン 25.3 では、プラグイン SLAS カートリッジオプションがハイブリッド認証 (Hybrid Auth) に置き換えられました。

このページの一部のリンクにアクセスできるのは、既存のお客様のみです。Commerce Cloud リポジトリにアクセスする方法については、Salesforce Commerce Cloud GitHub リポジトリとアクセスを参照してください。

  • ハイブリッド認証をフルに活用するには、Salesforce サポートが環境に対して追加の機能トグルを有効にする必要があります。
  • RememberMe 永続ログイン認証機能は、現在ハイブリッド認証ではサポートされていません。現在 RememberMe を使用している場合は、ハイブリッド認証を有効にしないでください。
  • サードパーティ ID プロバイダー (IDP)、ソーシャルログイン、およびパスワードなしのログイン機能は、現在ハイブリッド認証ではサポートされていません。
  • ハイブリッド認証に移行して、向上したパフォーマンスと合理化されたワークフローを活用することを強くお勧めします。

ハイブリッド認証は、Storefront Reference Architecture (SFRA)/SiteGenesis の認可と、Shopper Login and API Access Service (SLAS) の認可の両方を必要とする実装のためのスタンドアロンソリューションです。つまり、dwsid (SFRA/SiteGenesis) と JSON Web トークン (SLAS) の両方が必要であり、これらのトークンを同期させる必要があります。

ハイブリッド認証は、プラグイン SLAS アプローチを改良したもので、より効率的で合理化された方法を提供します。

ハイブリッド認証はプラグイン SLAS を 完全に置き換え、この機能を B2C Commerce プラットフォームに直接移動することで、ハイブリッドストアフロントのパフォーマンスと安定性を向上させます。

ハイブリッド認証は、さまざまなユースケース向けに設計されており、そのすべてで SFRA/SiteGenesis と SLAS の両方を使用します。

  • ハイブリッド実装 (PWA Kit やその他のヘッドレスソリューションを含む可能性のある部分的なヘッドレスサイト): サイトの一部 (商品一覧ページや商品詳細ページなど) はヘッドレスアプリケーションで実行し、サイトの他の部分 (買い物カゴやチェックアウトなど) は SFRA または SiteGenesis に残ります。
    • サイトの一部にヘッドレステクノロジーを使用する予定の場合 (SFRA/SiteGenesis を使用したハイブリッド設定)、ハイブリッド認証が必要です。
  • SFRA/SiteGenesis: ハイブリッド認証を SFRA/SiteGenesis サイトのみで使用して、より長いセッション期間 (最大 90 日間) やフェデレーションログインなどの SLAS 機能を利用できます。
  • PWA Kit 以外のお客様の場合、HybridAuth を使用していて、dwsid Cookie が存在する場合は、すべての SCAPI 呼び出しに Cookie dwsid 値を含む sfdc_dwsid ヘッダーを含めます。

このセクションは、前のセクションで示した SFRA/SiteGenesis と非 PWA Kit のハイブリッド実装のユースケースに適用されます。実装に PWA Kit が含まれる場合は、コンポーザブルストアフロントのハイブリッド認証の設定を参照してください。

  1. SLAS プライベートクライアントの設定:

    • B2C Commerce v25.3 では、ハイブリッド認証は SLAS プライベートクライアントのみをサポートします。SLAS プライベートクライアントをまだお持ちでない場合は、作成します。現在、SLAS パブリッククライアントでプラグイン SLAS を使用している場合は、ハイブリッド認証を採用するときにプライベートクライアントを実装する必要があります。
    • ハイブリッドストアフロントの実装については、Shopper API の認可を参照してください。
  2. Business Manager の構成:

    1. Salesforce カスタマーサポートにセッション上書き機能の切り替えを有効にするように依頼するサポートケースを開きます。

      現在、ハイブリッド認証機能を完全に活用するには、Salesforce サポートがセッション上書き機能の切り替えを有効にする必要があります。

    2. ハイブリッド認証のサイト設定を構成します。

      1. Salesforce カスタマーサポートが必要な機能トグルを有効にすると、Business Manager (BM) に新しいハイブリッド認証設定画面が表示されます。
      2. Business Manager で、マーチャントツール > サイトを選択 > サイト環境設定 > ハイブリッド認証設定 の順に選択し、次の操作を行います。
        1. サイトのハイブリッド認証の有効化 のチェックボックスをオンにします。
        2. 以前に設定した SLAS プライベートクライアント ID を入力します。
        3. SLAS プライベートクライアントシークレットを入力します。
        4. サイトのハイブリッド認証の買い物客コンテキストの有効化 のチェックボックスをオンにすると、買い物客のコンテキスト機能をハイブリッド認証で利用できるようになります。
        5. サイトの「追跡拒否」同期の有効化 のチェックボックスをオンにすると、ハイブリッド認証で DNT 同期を利用できるようになります。
        6. 適用をクリックします。
    3. カートリッジパスからプラグイン SLAS を削除します。

      プラグイン SLAS を使用したことがある場合は、次の手順を実行します。ハイブリッドストアフロントの実装を初めて使用し、ハイブリッド認証を初めて使用する場合は、これらの手順を省略できます。

      B2C Commerce ハイブリッド認証への移行に伴い、プラグイン SLAS を使用する必要はなくなりました。

      1. 管理 > サイト > サイトの管理 > サイトを選択します。
      2. 設定タブに移動します。
      3. カートリッジパスから plugin_slas を削除します。
      4. コードのカスタマイズの場合:
      • プラグイン SLAS に固有ではない買い物客認証コードのカスタマイズがある場合は、引き続きそのまま機能します。
      • プラグイン SLAS に固有のカスタマイズがある場合は、不要な場合や、別のカートリッジに変更を再実装する必要がある可能性があるため、それらの変更を確認します。
      • ベストプラクティスに従って、コードのカスタマイズは、すぐに使用できる SFRA カートリッジコードを直接変更するのではなく、別のカートリッジに実装します。
      • カスタムカートリッジのコードがセッションブリッジのエンドポイントを呼び出さないようにしてください。呼び出すと、買い物客のセッションで問題が発生することがあります。セッションブリッジはハイブリッド認証によって自動的に処理されます。
  3. クライアントブラウザーで Cookie のレスポンスを処理します。

    • ハイブリッド認証の一部として、SLAS トークン呼び出しでは、Set-Cookie レスポンスヘッダーに dwsid が含まれるようになりました。SLAS API 呼び出しから Set-Cookie ヘッダーが尊重され、ブラウザーで Cookie が設定されていることを確認します。
    • 注: コンポーザブルストアフロントで Commerce Cloud React SDK を使用している場合、この Cookie の処理は PWA Kit v3.9 以降で行われます。
  4. ハイブリッド認証の設定を確認します。

    1. ブラウザーの eCDN で構成されたバニティドメインを使用して、ストアフロントに移動します。
    2. ブラウザーで開発者ツールを開き、Cookie を検査します。
    3. 次の Cookie が設定されていることを確認します。
      • cc-nx-g_{Site_ID} - ゲストリフレッシュトークン
      • dwsid - B2C Commerce セッション ID
      • usid - SLAS 顧客 ID
      • cc-at_{Site_ID} - SLAS アクセストークン (この Cookie は SFRA ページにのみ表示されます)

このセクションは、ハイブリッド認証のユースケースに記載されている新規および既存のハイブリッド実装のユースケースに適用されます。

プラグイン SLAS を使用した既存のハイブリッド実装では、SCAPI /mergeBasket API を使用して、ゲスト買い物客と登録済み買い物客の買い物カゴをマージします。一部の顧客はさらにカスタマイズする必要があり、ゲストと登録済みの買い物客のセッション間で買い物カゴをマージまたは転送するためのカスタムコードを実装します。

ハイブリッド認証では、買い物カゴの管理と認証が分離されます。ハイブリッド認証の買い物カゴの動作は、次のいずれかのオプションを使用して構成する必要があります。

  • 買い物カゴを転送する

    • ヘッドレス: transferBasket エンドポイントを使用して、ゲストの買い物カゴを登録済み買い物客の買い物カゴに転送します。transferBasket は、登録済み買い物客の買い物カゴをゲスト買い物客の買い物カゴに置き換えます。登録済み買い物客の買い物カゴに以前に追加された商品は、すべて上書きされます。
    • SFRA/SiteGenesis: ハイブリッド認証では引き続き B2C Commerce ログインが使用され、内部で買い物客のセッションと SLAS セッションがブリッジされます。ゲストから登録済み買い物客アカウントへの買い物カゴの転送をトリガーするには、コントローラー拡張機能の実装に BasketMgr.getCurrentBasket() の呼び出しを含める必要があります。
  • 買い物カゴをマージする

    • ヘッドレス: mergeBasket エンドポイントを使用して、ゲスト買い物客の買い物カゴを登録済み買い物客の買い物カゴにマージします。mergeBasket では、マージの環境設定に基づいて、ゲスト買い物客と登録済み買い物客の買い物カゴの品目がマージされます。

    • SFRA/SiteGenesis: 既存の Script API を使用して、マージバスケット機能を実装します。推奨されるアプローチは、次の例に示すように、買い物客がログインできる場所に SFRA コントローラーを追加し、買い物カゴをマージするログイン機能を追加することです。mergeBaskets() への呼び出しは MergeBasketUtil に含まれています。以下は、参照用として提供されているサンプルのユーティリティスクリプトです。詳細については、Github GIST コードを参照してください。

ハイブリッド実装における買い物カゴのベストプラクティスについては、ハイブリッド実装のガイダンスを参照してください。

このセクションは、ハイブリッド認証のユースケースに記載されている新規および既存のハイブリッド実装のユースケースに適用されます。

ハイブリッド認証では、買い物客のコンテキストを使用して、次のような位置情報ベースのパーソナライゼーションを推進することをお勧めします。

  • 顧客グループの request.geolocation.* 属性に基づくプロモーションおよびその他の体験
  • クライアント IP に基づく地域固有のコンテンツ

SCAPI 呼び出しとコントローラー呼び出しの両方で同じ位置情報を使用し、ハイブリッドストアフロント全体で一貫性を維持するには、次のようにします。

  • 買い物客のコンテキストを clientIp. で呼び出します。

  • evaluateContextWithClientIp クエリパラメーターを true. に設定します。IP 関連のコンテキスト機能を正しく動作させるには、&evaluateContextWithClientIp=true を設定する必要があります。

  • たとえば、次のようになります。

詳細については、買い物客のコンテキストのガイドおよび買い物客のコンテキストのドキュメントを参照してください。

すべてのハイブリッド認証のユースケースに対して DNT 設定を有効または無効にできます。

Business Manager で DNT 同期を有効または無効にするには、マーチャントツール > サイトを選択 > サイト環境設定 > ハイブリッド認証設定を選択します。

SFRA のみのサイト: DNT 値は拡張セッションに自動的に同期され、セッション間でシームレスなエクスペリエンスが保証されます。

SFRA と PWA Kit のハイブリッド実装 (新規および既存): ハイブリッド認証と DNT 同期の両方を有効にすると、一方のサイトで買い物客が提供した追跡同意がもう一方のサイトと自動的に同期されます。たとえば、ホームページが PWA Kit で実行され、買い物カゴページが SFRA で実行されるハイブリッドサイトでは、次のようになります。

  • ホームページ (PWA Kit) では、買い物客に同意フォームが表示され、追跡設定が提供されます。
  • 買い物客が買い物カゴページ (SFRA) に移動すると、PWA Kit からの DNT 値が SFRA と同期されます。
  • このため、SFRA の買い物カゴページでは、追跡への同意を再度求めるプロンプトは表示されません。

SFRA および非 PWA Kit ヘッドレスハイブリッド実装 (新規および既存): 次の条件を満たすと、プラットフォームに実装された DNT 同期を利用できます。

  • SFRA ではデフォルトの DNT 実装が使用されます。詳細については、SFRA での同意追跡を参照してください。
  • 非 PWA Kit ヘッドレスソリューションでは、PWA Kit と同様の DNT が実装されます。詳細については、デフォルトの追跡同意の実装を参照してください。

重要: デフォルトの DNT 実装をカスタマイズすると、デフォルトの同期が不要になったり、期待どおりに機能したりしない場合があります。このような場合は、サイト環境設定を使用して DNT 同期を無効にできます。DNT 同期がオフになっている場合でも、ハイブリッド認証を有効にできます。

SFRA と PWA Kit では、DNT Cookie の有効期限に重要な違いがあります。

  • SFRA は、セッションの終了時に DNT Cookie の有効期限が切れるように設定します。
  • PWA Kit は、リフレッシュトークンの有効期間 (ゲストユーザーの場合は 30 日など) に合わせて有効期限を設定します。

買い物客が PWA Kit ページから SFRA ページに移動すると、DNT Cookie の有効期限が、リフレッシュトークンの有効期限からセッションベースの有効期限に変更されます。買い物客がブラウザーを閉じると、Cookie は削除されます。その結果、買い物客が戻ると、追跡同意のポップアップ/バナーが期待どおりに再度表示されます。