セッションブリッジの承認
SLAS セッションブリッジパターンを使用すると、ゲストユーザーまたは特定名ユーザーとして、Commerce Cloud セッション (B2C Commerce セッション ID Cookie DWSID または DWSGST トークンに保存) から SLAS 買い物客トークンに迅速かつセキュアに移行できます。これにより、すべての SCAPI API エンドポイントをハイブリッドアプリやコンポーザブルアプリで使用できるようになります。
SLAS がハイブリッド環境に組み込まれていて、アプリケーションが、ある部分ではスタンドアロンアプリ (Single Page App SPA) またはモバイルアプリを使用し、別の部分では SFRA ストアフロントを使用する場合があります。このアプリケーションパターンの一部として、買い物客が B2C Commerce (ゲストまたは特定名の買い物客として) で直接認証を行い、DWSID Cookie に保存されたセッションを獲得する場合があります。
plugin_slas
カートリッジには SLAS セッションブリッジフローが含まれており、B2C Commerce の署名付きゲストセッション (DWSGST) と B2C Commerce の登録済みユーザーセッション (DWSID) が、SCAPI と OCAPI で使用する SLAS Shopper JWT を取得できるようになっています。
次の図は、SESB フローで使用される一般的な API リクエストとレスポンスを示しています。
署名付きゲストセッションをもつ SESB は、SLAS Shopper JWT を取得するために SLAS への呼び出しを行うものです。これは、署名付きゲストトークンの署名が SLAS によって検証され、検証目的の B2C Commerce への呼び出しを行わないため、高速です。
DWSGST を取得するには、session.generateGuestSessionSignature()
Script API を呼び出して結果を返すコントローラーをもつ B2C Commerce カートリッジが必要です。このドキュメントでは、B2C Commerce 用のカートリッジの作成方法は説明しませんが、以下に、コントローラーによる処理を示す非常にシンプルなコードの例を掲載しておきます。
DWSGST トークンを取得したら、getSessionBridgeAccessToken を使用して SLAS に SESB トークンをリクエストします。Call 1 コマンドでは、eyJraWQiOiIxNjkxMTM1NTIWxnIjoiRVMyNTYifQ.eyJ0ZW5hbnRJZCI6I...
を実際の DWSGST に置き換えます。
登録済みユーザーセッションをもつ SESB は、SLAS への呼び出しを 2 回行って SLAS Shopper JWT を取得します。この場合、SLAS と B2C Commerce で検証が行われるため、時間がかかります。
廃止予定通知: 2024 年 1 月 31 日以降、マーチャントは /session-bridge/token
で DWSID パラメーターと loginId=guest
を使用できなくなります。SESB ゲストトークンを取得するには、SESB 署名付きゲストトークンフローを使用する必要があります。このタイムライン以降は、この API にアクセスすると 404 エラーが返され、ゲスト買い物客はストアフロントにアクセスできなくなります。詳細については、買い物客ログインと API アクセスサービス (SLAS) セッションブリッジ DWSID GUEST 廃止予定を参照してください。
このリクエストでは、前回のリクエストの redirect_uri
パラメーターで渡されたアドレスにリダイレクトされます。リダイレクトの際に、認可コードがクエリパラメーターに含められます。
これで認可コードを入手できたので、getSessionBridgeAccessToken を使用して SESB トークンを SLAS にリクエストできます。Call 2 コマンドでは、jpsM6DNwzFtrUIZJDwyRihkRX1g
を実際の認証コードに置き換えます。
ユーザーが SLAS にログインする方法はいくつかあります。登録済みユーザーのログインフローはすべて SESB でサポートされています。
- SESB からサードパーティ IDP (/authorize) プライベートクライアントまたはパブリッククライアントへ
- SESB から B2C Commerce ユーザー (/login) プライベートクライアントまたはパブリッククライアントへ
- SESB から信頼されるログイン代行システム (TSOB) へ
- SESB から信頼できる代理エージェント (TAOB) へ
- SESB からパスワードレスユーザーログイン (/passwordless/login) へ
このシナリオでは、買い物客は署名付きゲストトークンを使用して開始し、商品を作成して買い物カゴに入れます。ある時点で、買い物客がゲスト USID で SLAS ログインフローのいずれかを使ってログインすると、ゲストセッションは登録済みユーザーセッションに移行します。
へ