Salesforce が管理する認証プロバイダーの設定
Sandbox の使用事例で認証プロバイダーの設定を簡略化するには、Salesforce が管理するサードパーティアプリケーションを使用します。このプロセスにより、独自のサードパーティアプリケーションを作成し、そのログイン情報を管理する時間と労力を節約できます。Salesforce では、Google、Microsoft、Slack など、いくつかの一般的なプロバイダー向けにサードパーティアプリケーションを提供しています。
必要なエディション
| 使用可能なインターフェース: Lightning Experience および Salesforce Classic |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| 設定を参照する | 「設定・定義の参照」 |
| 設定を編集する | 「アプリケーションのカスタマイズ」 および 「認証プロバイダーの管理」 |
Salesforce が管理するアプリケーションではシングルサインオン (SSO) の設定をすばやく簡単に行うことができますが、SSO サービスが中断するダウンタイムが発生する可能性があります。本番の使用事例では、常に独自のサードパーティアプリケーションを作成します。
Salesforce は、これらのプロバイダーのサードパーティアプリケーションを管理します。
- GitHub
- Microsoft
- Salesforce
- Slack
シングルサインオンに認証プロバイダーを使用するには、登録ハンドラーを作成する必要があります。登録ハンドラーがユーザーを作成し、ID プロバイダーを介して Salesforce にアクセスする既存のユーザーを更新します。Apex または Flow Builder を使用して登録ハンドラを設定できます。詳細は、「Create an Authentication Provider Registration Handler (認証プロバイダー登録ハンドラーの作成)」を参照してください。
- [設定] から、[クイック検索] ボックスに「認証プロバイダー」と入力し、[認証プロバイダー] を選択してから、[新規] をクリックします。
- 認証プロバイダーのタイプを選択します。
- プロバイダーの名前を指定します。
-
次の項目は空白のままにして、Salesforce が値を管理できるようにします。
- コンシューマー鍵
- コンシューマーの秘密
- 承認エンドポイント URL
- トークンエンドポイント URL
- ユーザー情報エンドポイント URL
- デフォルトの範囲
メモ これらの項目に値を指定するということは、独自の認証プロバイダーを作成するということです。このいずれかの項目に値を指定する場合、コンシューマー鍵とコンシューマーの秘密の値も指定する必要があります。 -
コンシューマー鍵とコンシューマーの秘密を入力すると、コンシューマーの秘密がデフォルトで SOAP API の応答に含まれます。SOAP API 応答で秘密を表示しないようにするには、[SOAP API 応答にコンシューマーの秘密を含める] の選択を解除してください。
2022 年 11 月より、メタデータ API 応答では、秘密が常にプレースホルダーの値に置き換えられます。デプロイ時に、プレースホルダーをプレーンテキストのコンシューマーの秘密に置き換えるか、後から UI で値を変更してください。
-
Apex 登録ハンドラを使用するには、次の手順を実行します。
- [登録ハンドラ種別] で、[Apex] を選択します。
-
[登録ハンドラ] で、
Auth.RegistrationHandlerインタフェースを実装する既存の Apex クラスを選択します。または、登録ハンドラのテンプレートを作成するには、[登録ハンドラテンプレートを自動的に作成] をクリックします。このクラスを後で編集してデフォルトのコンテンツを変更してから使用します。
-
登録ハンドラーにフローを使用するには、次の手順を実行します。
- [登録ハンドラ種別] で、[フロー] を選択します。
- [登録ハンドラー] で、[ID ユーザー登録] フロー種別の既存のフローを選択します。
-
デフォルトプロファイルを選択します。登録ハンドラーを実行するには、デフォルトプロファイルが必要です。ここでデフォルトプロファイルを指定しない場合、フロー自体でデフォルトプロファイルを設定します。
認証プロバイダーユーザー登録フローテンプレートを使用する場合、ここで設定したプロファイルは defaultProfileId 変数に自動的に保存されます。
-
デフォルトの取引先を選択します。Experience Cloud サイトで認証プロバイダーを使用している場合、このアカウントには新しい内部ユーザーが保存されます。
「認証プロバイダーのユーザー登録」フローテンプレートを使用する場合、ここで設定したプロファイルは自動的に defaultAccountId 変数に保存されます。
-
[Execute Registration As (登録の実行ユーザー)] で、Apex クラスまたはフローを実行する実行ユーザーを選択します。このユーザーは「ユーザーの管理」権限を持っている必要があります。
[他のアカウントで登録を実行] では、登録ハンドラーが動作するコンテキストが提供されます。本番環境では、通常、[他のアカウントで登録を実行] ユーザー用にシステムユーザーを作成します。このように、ハンドラーによって実行される操作は、その登録プロセスが簡単に特定されます。たとえば取引先責任者が作成される場合、システムユーザーがそれを作成します。
-
ID プロバイダーの MFA サービスではなく、Salesforce 多要素認証 (MFA) 機能を使用するには、[この SSO プロバイダーで Salesforce MFA を使用] を選択します。
この設定は、MFA が直接適用されているユーザーの MFA のみをトリガーします。「SSO での Salesforce MFA の使用」を参照してください。
- 変更内容を保存します。
LinkedIn 認証プロバイダーを使用して Sandbox のシングルサインオン (SSO) を設定するとします。認証プロバイダーの設定ページで、項目を空白のままにして、Salesforce がこれらの値を管理できるようにします。LinkedIn アプリケーションの作成はスキップできます。次に、組織の LinkedIn 認証プロバイダーを定義し、「LinkedIn 認証プロバイダーの設定」の手順に従って接続をテストします。
認証プロバイダーを設定すると、Salesforce によって次のクライアント設定 URL が生成されます。
- テスト専用初期化 URL — この URL を使用して、サードパーティが正しく設定されているかどうかをテストします。この URL を開いて、サードパーティにログインします。その後、属性の対応付けと共に Salesforce にリダイレクトされます。
- シングルサインオン初期化 URL — この URL を使用して、サードパーティから組織への SSO を実行するようにユーザーをリダイレクトします。ユーザーは、この URL を開いて、サードパーティにログインします。サードパーティは、ユーザーアカウントを作成または更新して、そのアカウントでユーザーを Salesforce にログインさせます。
- 既存のユーザーをリンクする URL — この URL を使用して、組織のユーザーをサードパーティの既存のアカウントにリンクします。このユーザーはこの URL を開いてサードパーティにログインし、Salesforce にログインして、アカウント間のリンクを作成します。
- OAuth 専用初期化 URL — この URL を使用して、ユーザーの認証後に OAuth アクセストークンを取得します。このフローは、サードパーティデータアクセスには対応していますが、SSO には対応していません。
- コールバック URL — 他の各クライアント設定 URL について、認証プロバイダーはコールバック URL に情報を送信します。
ブラウザーでテスト専用初期化 URL を開いて、SSO 接続をテストできます。この URL は OpenID プロバイダーにリダイレクトされ、サインインするよう求められます。そしてサインイン時に、アプリケーションを認証するよう求められます。認証後、ユーザーは Salesforce にリダイレクトされます。
認証プロバイダーをログインオプションとして表示するようにログインページを設定します。組織の SSO を設定しているのか、Experience Cloud サイトの SSO を設定しているかに応じて、このステップは異なります。

