Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
B2C Commerce の使用開始
Salesforce IdP Sandbox 組織への SSO の構成

Salesforce IdP Sandbox 組織への SSO の構成

B2C インスタンスが Salesforce Sandbox 組織に接続する場合は、まず本番組織で外部クライアントアプリケーションを構成します。次に、Sandbox 組織で認証プロバイダを設定します。認証プロバイダは、本番組織で設定した外部クライアントアプリケーションを使用します。

重要
重要 外部クライアントアプリケーションは、認証プロバイダが IdP として使用する Salesforce Org で設定した場合にのみ機能します。

本番組織での外部クライアントアプリケーションの作成

本番組織で、B2C マーチャントエージェントの OAuth プロバイダーと通信できる外部クライアントアプリケーションを構成します。

  1. Salesforce Org にログインします。
    login.salesforce.comまたは [私のドメイン] の URL (Salesforce システム管理者によって設定されている場合はhttps://company.my.salesforce.comなど) でログインします。
  2. ページの上部にある[設定 ] をクリックし、[ 設定 ] を選択します。
  3. [クイック検索] ボックスに、「External Client App Manager」と入力して選択します。
  4. [New External Client App (新規外部クライアントアプリケーション )] をクリックします。
  5. [基本情報(Basic Information)] タブで、必須フィールドに入力し、配布状態を[ローカル(Local )] に設定します。
  6. [API (OAuth 設定を有効にする)] で、[ OAuth を有効にする ] を選択します。
  7. [コールバック URL ] に「https://login.salesforce.com/」と入力します。
    Sandbox 組織で認証プロバイダを作成したら、そのコールバック URL をコピーして、ここに入力した URL を置き換えます。
  8. 以下の OAuth 範囲を選択します。
    • ID URL サービス(ID、プロファイル、電子メール、住所、電話)へのアクセス
    • API によるユーザーデータの管理 (api)
    • リクエストをいつでも実行 (refresh_token、offline_access)
    • 一意のユーザー識別子 (openid) にアクセス
  9. その他の設定はすべてデフォルト値のままにします。
  10. 作成をクリックします。

外部クライアント アプリが完了すると、アプリはコンシューマ キーとコンシューマ シークレットを提供します。これらの値を使用して、Sandbox で OAuth プロバイダーを作成します。

Sandbox 組織での認証プロバイダの設定

開始する前に、外部クライアントによって生成されたコンシューマ鍵とシークレットを B2C Commerce マーチャントエージェントで使用できるようにします。

  1. Salesforce Sandbox 組織で、登録ハンドラ Apex クラスを作成します。
    1. ページの上部にある[設定 ] をクリックし、[ 設定 ] を選択します。
    2. [クイック検索] ボックスに「Apex クラス」と入力し、[ Apex クラス ] を選択します。
    3. 新規をクリックします。
    4. このコードをコピーしてクラス エディターに貼り付けて、B2CRegistrationWrapper クラスを作成します。
      global class B2CRegistrationWrapper implements Auth.RegistrationHandler {
               /**
               * ロジックを委任する標準の B2C Commerce ハンドラーをインスタンス化します
               */
               private Auth.B2CCommerceCloudRegistrationHandler getStandardHandler() {
               return new Auth.B2CCommerceCloudRegistrationHandler();
               }
               global User createUser(Id portalId, Auth.UserData data) {
               // カスタムの前処理ロジックをここに追加できます
               // 標準ハンドラに委譲
               return getStandardHandler().createUser(data);
               }
               global void updateUser(Id userId, Id portalId, Auth.UserData data) {
               // カスタムロギングまたは属性マッピングをここで追加できます
               // 標準ハンドラに委譲
               getStandardHandler().updateUser(userId, data);
               }
             }
  2. 変更内容を保存します。
    この Apex クラスは、標準の B2C Commerce 登録ハンドラのラッパーとして機能します。必要に応じて、カスタムの前処理ロジックまたは属性マッピングを追加できます。
  3. [クイック検索] ボックスに「認証プロバイダー」と入力し、[ 認証プロバイダー ] を選択します。
  4. 新規をクリックします。
  5. 次の表のフィールド値を入力して、認証プロバイダーを構成します。
    フィールド 値
    プロバイダーの種類 Salesforce
    名前 認証プロバイダーのわかりやすい名前を入力します。
    コンシューマ キー Salesforce IdP 組織から外部クライアントアプリケーションに移動し、[設定] タブを選択して、[OAuth 設定] でコンシューマキーを見つけます。
    コンシューマ シークレット Salesforce IdP 組織から外部クライアントアプリケーションに移動し、[設定] タブを選択して、[OAuth 設定] でコンシューマシークレットを見つけます。
    エンドポイント URL の承認 https:// idp-org-hostname /services/oauth2/authorize を実行します。
    トークン エンドポイント URL https:// idp-org-hostname /services/oauth2/token
    登録ハンドラの種類 Apex
    登録ハンドラー B2CRegistrationWrapper クラス
    登録を実行 Salesforce 管理者ロールをもつユーザーを選択します
  6. 保存をクリックします。
  7. 生成されたコールバック URLをコピーします。
    認証プロバイダは、ユーザが Sandbox 組織にアクセスするためのシングルサインオン URL も生成します。
  8. プライマリ IdP 組織にログインし、前に作成した外部クライアントアプリケーションを開きます。
  9. コールバック URL を外部クライアント アプリの[コールバック URL ] フィールドに貼り付けます。
  10. 変更内容を保存します。
 
読み込み中
Salesforce Help | Article