信頼できるエージェントの認可

信頼できる代理エージェント (Trusted Agent On Behalf (TAOB)) 認可では、エージェントが登録済みの買い物客またはゲスト買い物客に代わってアクションを実行できます。

デフォルトでは、買い物客の追跡環境設定はすべての TAOB フローで無効になっています。つまり、dnttrue に設定されています。これは、dntfalse に設定されている他の SLAS トークンリクエストとは異なります。

Note

信頼できるエージェントの認可の構成 

  1. Business Manager の許可を構成します。
  • Business Manager で、組織の 1 人以上のエージェントに対して Login_On_Behalf および Create_Order_On_Behalf の機能の許可を構成します。
  • 詳細な手順については、B2C Commerce Infocenter の Business Manager の機能の許可を参照してください。
  1. SLAS を構成します。
  • OAuth auth_code PKCE フローで使用する専用のパブリッククライアント ID を作成します。詳細については、パブリック SLAS クライアントのユースケースを参照してください。
  • sfcc.ta_ext_on_behalf_of スコープを SLAS クライアントに追加します。
  • リダイレクト URI を設定します。
  1. 必要に応じて、登録済み買い物客とゲスト買い物客に対して、次のセクションの手順を実行します。

ゲスト買い物客に対する TAOB パラメーターの指定 

SLAS の構成時に作成したパブリッククライアント ID を必ず使用してください。

Note

  1. login_idguest に設定します。
  2. idp_originslas に設定します。これは、SLAS ゲストリクエストの標準です。別の idp_origin 値が使用されている場合、SLAS は不正なリクエストを返します。
  3. 信頼できるエージェントがゲスト買い物客の既存の買い物カゴにアクセス (表示または更新) する必要がある場合は、買い物客トークンに含まれていたものと同じ USID を渡す必要があります。
  4. TAOB ゲストトークンリクエストで state パラメーターを渡して、認可呼び出しからトークン呼び出しに状態を転送するための TAOB access_token を取得する必要があります。state パラメーター値は、TAOB ゲスト認可呼び出しからのレスポンス URL の認可コードとともに返されます。例: .../taob/callback?code=HETXpvg5LKBNIHjDTWkRrf2MLVU&state=taob.gst.7bc7fb7f-e646-44fd-bc73-dfd5c3c9019b

ゲストユーザーの SLAS trusted agent 認証

例: ゲスト買い物客に対する TAOB 認可リクエスト 

1curl 'https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organization/$ORG/oauth2/trusted-agent/authorize'
2\--get
3\--data "client_id=$CLIENT"
4\--data "channel_id=$SITE"
5\--data "redirect_uri=$REDIRECT"
6\--data 'response_type=code'
7\--data 'idp_origin=slas'
8\--data-urlencode "login_id=guest"
9\--data "code_challenge=$CHALLENGE'

例: ゲスト買い物客に対する TAOB トークンリクエスト 

Authorization ヘッダーで、エージェントが Account Manager で認証されたときに返された code クエリパラメーターの値を使用します。

1curl 'https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organization/$ORG/oauth2/trusted-agent/token' \
2--header 'Authorization: Bearer jpsM6DNwzFtrUIZJDwyRihkRX1g' \
3--data "client_id=$CLIENT" \
4--data "channel_id=$SITE" \
5--data 'grant_type=client_credentials' \
6--data 'idp_origin=slas' \
7--data-urlencode 'login_id=guest' \
8--data-urlencode 'agent_id=example@yourdomain.com' \
9--data-urlencode 'channel_id=SiteGenesis' \
10--data 'code_verifier=`$VERIFIER' \
11--data 'state=taobgst.3ebdcbb6-ef87-4f41-8173-67728636e513'

登録済み買い物客に対する TAOB パラメーターの指定 

SLAS の構成時に作成したパブリッククライアント ID を必ず使用してください。

Note

  1. login_id を買い物客の認証情報に設定します。
  2. idp_originecom に設定します。

次のシナリオでは、信頼できるエージェントの認可を使用して登録済みの買い物客をサポートします。

  1. ローレンはコールセンターのエージェントで、買い物客の注文をサポートします。
  2. 買い物客であるティムが、コールセンターに連絡します。注文したシャツの数を変更したいのですが、自分で変更するのに手間取っています。
  3. ローレンは SLAS TAOB フローを使用して、ティムのアカウントにアクセスし、買い物カゴに追加された商品にアクセスできるようにします。
  4. ローレンは、ティムの注文に含まれるシャツの数を変更します。
  5. ティムはローレンのサポートに満足し、注文を完了します。

このフローは、エージェントの IDP として機能する Account Manager 専用です。別の IDP を使用するエージェントの場合は、信頼できる代理システム (Trusted System On Behalf (TSOB)) の呼び出しフローを使用して、カスタムエージェントソリューションで SLAS 買い物客の JSON Web Token (JWT) を提供することを検討してください。

Note

以下の図は、登録済み買い物客用の信頼できるエージェントの認可フローで使用される一般的な API リクエストとレスポンスを示しています。

SLAS trusted agent の認証および認可プロセス

例: 登録済み買い物客に対する TAOB 認可リクエスト 

次のコマンドは、パブリッククライアントを使用して信頼できるエージェントを認可する方法を示しています。

用意されているサンプルコードを実行する際には、プレースホルダーの値を必ず実際の値に置き換えてください。

Important

まず、信頼できるエージェントのための認可コードを getTrustedAgentAuthorizationToken を使ってリクエストします。

1curl "https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organization/$ORG/oauth2/trusted-agent/authorize" \
2--get \
3--data "client_id=$CLIENT" \
4--data "channel_id=$SITE" \
5--data "redirect_uri=$REDIRECT" \
6--data 'response_type=code' \
7--data 'idp_origin=ecom' \
8--data-urlencode "login_id=jack.shopper" \
9--data-urlencode 'agent_id=example@yourdomain.com' \
10--data-urlencode 'channel_id=SiteGenesis' \
11--data "code_challenge=$CHALLENGE"

リクエストにより、Account Manager にリダイレクトされ、認証するよう求められます。正常にログインすると、前回のリクエストの redirect_uri パラメーターで渡されたアドレスにリダイレクトされます。リダイレクトする場合、認可コードは code クエリパラメーターに含まれます。

次に、getTrustedAgentAccessToken を使用して信頼できるエージェントトークンをリクエストします。Authorization ヘッダーで、エージェントが Account Manager で認証されたときに返された code クエリパラメーターの値を使用します。

1curl "https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organization/$ORG/oauth2/trusted-agent/token" \
2--header 'Authorization: Bearer jpsM6DNwzFtrUIZJDwyRihkRX1g' \
3--data "client_id=$CLIENT" \
4--data "channel_id=$SITE" \
5--data 'grant_type=client_credentials' \
6--data 'idp_origin=ecom' \
7--data-urlencode 'login_id=jack.shopper' \
8--data "code_verifier=$VERIFIER"

信頼できるエージェントトークンは 15 分後に期限切れになり、更新できません。新しいトークンを取得するには、認可フローを再開します。

Note

トラブルシューティング 

  • 次のレスポンスコードを受け取った場合は、SLAS 構成と Business Manager の許可を確認してください。
    1{
    2"status_code": "403 FORBIDDEN",
    3"message": "AM SSO Unauthorized!"
    4}
  • 次のレスポンスコードは、agent_idlogin_id が同じであることを示していますが、これは許可されていません。
    1{
    2  "status_code": "403 FORBIDDEN",
    3  "message": "Agent Id - AM SSO Unauthorized!"
    4}