Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
Salesforce 組織のセキュリティ保護
Facebook 認証プロバイダーの設定

Facebook 認証プロバイダーの設定

Facebook 認証プロバイダーを設定し、ユーザーが Facebook ログイン情報を使用して Salesforce にログインできるようにします。

必要なエディション

使用可能なインターフェース: Lightning Experience および Salesforce Classic
使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition
必要なユーザー権限
設定を参照する 「設定・定義の参照」
設定を編集する

「アプリケーションのカスタマイズ」

および

「認証プロバイダーの管理」

Facebook を認証プロバイダーとして設定するには、次の作業を実行します。

  • 登録ハンドラーを設定します。
  • Facebook アプリケーションを設定し、Salesforce をアプリケーションのドメインにします。
  • Salesforce で Facebook 認証プロバイダーを定義します。
  • Salesforce によって生成されるコールバック URL を Facebook の Web サイト URL として使用するように、Facebook アプリケーションを更新します。
  • 接続をテストします。
  • ログインページに Facebook プロバイダーを追加します。
メモ
メモ Sandbox の使用事例では、これらの手順の一部をスキップして、Salesforce 管理認証プロバイダーを設定できます。本番の使用事例では、常に独自の Facebook アプリケーションを作成し、そのログイン情報を認証プロバイダーに使用します。Salesforce 管理アプリケーションではダウンタイムが発生する可能性があるため、本番環境ではお勧めしません。

登録ハンドラーの設定

シングルサインオンに認証プロバイダーを使用するには、登録ハンドラーを作成する必要があります。登録ハンドラーがユーザーを作成し、ID プロバイダーを介して Salesforce にアクセスする既存のユーザーを更新します。Apex または Flow Builder を使用して登録ハンドラを設定できます。詳細は、「Create an Authentication Provider Registration Handler (認証プロバイダー登録ハンドラーの作成)」を参照してください。

Facebook アプリケーションの設定

Salesforce で Facebook を設定する前に、Facebook でアプリケーションを設定する必要があります。

  1. Facebook でアプリケーションを作成します。
  2. アプリケーション設定を変更し、[アプリケーションドメイン] を [Salesforce] に設定します。
  3. アプリケーション ID とアプリケーションの秘密をメモします。

Salesforce での Facebook プロバイダーの定義

Facebook プロバイダーを設定するには、Facebook アプリケーションの ID とアプリケーションの秘密に関する情報が必要です。

  1. [設定] から、[クイック検索] ボックスを使用して [認証プロバイダー] を見つけて選択します。
  2. [新規] をクリックします。
  3. [プロバイダータイプ] に [Facebook] を選択します。
  4. プロバイダーの名前を入力します。
  5. クライアント設定 URL に使用する URL サフィックスを入力します。たとえば、プロバイダーの URL サフィックスが MyFacebookProvider である場合、シングルサインオン (SSO) URL は https://mydomain_url または site_url/services/auth/sso/MyFacebookProvider のようになります。
  6. [コンシューマー鍵] に Facebook アプリケーション ID を使用します。
  7. [コンシューマーの秘密] に Facebook アプリケーションの秘密を使用します。
  8. Apex 登録ハンドラを使用するには、次の手順を実行します。
    1. [登録ハンドラ種別] で、[Apex] を選択します。
    2. [登録ハンドラ] で、Auth.RegistrationHandler インタフェースを実装する既存の Apex クラスを選択します。または、登録ハンドラのテンプレートを作成するには、[登録ハンドラテンプレートを自動的に作成] をクリックします。このクラスを後で編集してデフォルトのコンテンツを変更してから使用します。
  9. 登録ハンドラーにフローを使用するには、次の手順を実行します。
    1. [登録ハンドラ種別] で、[フロー] を選択します。
    2. [登録ハンドラー] で、[ID ユーザー登録] フロー種別の既存のフローを選択します。
    3. デフォルトプロファイルを選択します。登録ハンドラーを実行するには、デフォルトプロファイルが必要です。ここでデフォルトプロファイルを指定しない場合、フロー自体でデフォルトプロファイルを設定します。

      認証プロバイダーユーザー登録フローテンプレートを使用する場合、ここで設定したプロファイルは defaultProfileId 変数に自動的に保存されます。

    4. デフォルトの取引先を選択します。Experience Cloud サイトで認証プロバイダーを使用している場合、このアカウントには新しい内部ユーザーが保存されます。

      「認証プロバイダーのユーザー登録」フローテンプレートを使用する場合、ここで設定したプロファイルは自動的に defaultAccountId 変数に保存されます。

  10. [Execute Registration As (登録の実行ユーザー)] で、Apex クラスまたはフローを実行する実行ユーザーを選択します。このユーザーは「ユーザーの管理」権限を持っている必要があります。

    [他のアカウントで登録を実行] では、登録ハンドラーが動作するコンテキストが提供されます。本番環境では、通常、[他のアカウントで登録を実行] ユーザー用にシステムユーザーを作成します。このように、ハンドラーによって実行される操作は、その登録プロセスが簡単に特定されます。たとえば取引先責任者が作成される場合、システムユーザーがそれを作成します。

  11. 必要に応じて、次の項目を設定します。
  • [承認エンドポイント URL] に、Facebook から入手したベース URL を入力します。たとえば、https://www.facebook.com/v2.2/dialog/oauth です。この項目を空白のままにした場合は、アプリケーションが使用する Facebook API のバージョンが使用されます。
    ヒント
    ヒント 必要に応じて、クエリ文字列パラメーターをベース URL に追加できます。たとえば、オフラインアクセス用に Facebook から更新トークンを取得するには、https://accounts.facebook.com/o/oauth2/auth?access_type=offline&approval_prompt=force を使用します。Facebook で最初の更新トークンの後にも更新トークンが引き続き提供されるように、更新アクションの承認をユーザーに求めるには approval_prompt パラメーターが必要となります。
  • [トークンエンドポイント URL] に、Facebook から入手した URL を入力します。たとえば、https://www.facebook.com/v2.2/dialog/oauth です。この項目を空白のままにした場合は、アプリケーションが使用する Facebook API のバージョンが使用されます。
  • Facebook プロファイル API から要求された値を変更するには、ユーザー情報エンドポイント URL を入力します。詳細は、https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-public_profile を参照してください。要求された項目は、要求された範囲に対応する必要があります。この項目を空白のままにした場合は、アプリケーションが使用する Facebook API のバージョンが使用されます。
  • セキュリティを強化する OAuth 2.0 Proof Key for Code Exchange (PKCE) 拡張を自動的に有効にするには、[Proof Key for Code Exchange (PKCE) 拡張を使用] を選択します。この設定がプロバイダーのセキュリティ保護にどのように役立つかについての詳細は、「Proof Key for Code Exchange (PKCE) Extension (コード交換の証明鍵 (PKCE) 拡張機能)」を参照してください。
  • [デフォルトの範囲] に、認証エンドポイントへの要求と共に送信する範囲を入力します。送信しない場合は、プロバイダータイプのハードコード化されたデフォルトが使用されます。デフォルトについては、Facebook の開発者用ドキュメントを参照してください。

    詳細は、「Scope URL パラメーターの使用」を参照してください。

  • コンシューマー鍵とコンシューマーの秘密を入力すると、コンシューマーの秘密がデフォルトで SOAP API の応答に含まれます。SOAP API 応答で秘密を表示しないようにするには、[SOAP API 応答にコンシューマーの秘密を含める] の選択を解除してください。2022 年 11 月より、メタデータ API 応答では、秘密が常にプレースホルダーの値に置き換えられます。デプロイ時に、プレースホルダーをプレーンテキストのコンシューマーの秘密に置き換えるか、後から UI で値を変更してください。
  • [カスタムエラー URL] に、プロバイダーがエラーの報告に使用する URL を入力します。
  • [カスタムログアウト URL] に、ユーザーが SSO フローを使用して認証された場合に、ログアウト後の特定の移動先となる URL を入力します。この項目を使用して、ユーザーをブランド設定されたログアウトページか、またはデフォルトの Salesforce ログアウトページ以外の場所のいずれかに移動します。URL は、http または https プレフィックスを付けて完全修飾する必要があります (https://acme.my.salesforce.com など)。
    ヒント
    ヒント シングルログアウト (SLO) を設定して、Salesforce と ID プロバイダーの両方から自動的にユーザーをログアウトするようにします。Salesforce では、証明書利用者として、ユーザーが ID プロバイダーまたは Salesforce からログアウトした場合でも OpenID Connect SLO がサポートされます。
  • プロバイダーでポータルを使用するには、[ポータル] ドロップダウンリストからポータルを選択します。
  • [アイコン URL] に、サイトのログインページのボタンとして表示するアイコンのパスを追加します。このアイコンは Experience Cloud サイトにのみ適用されます。Salesforce のログインページまたは [私のドメイン] のログイン URL には表示されません。ユーザーは、このボタンをクリックし、サイトに関連付けられた認証プロバイダーを使用してログインします。

    独自の画像へのパスを指定するか、いずれかのサンプルアイコンの URL を項目にコピーしてください。

  • ID プロバイダーの MFA サービスではなく、Salesforce 多要素認証 (MFA) 機能を使用するには、[この SSO プロバイダーで Salesforce MFA を使用] を選択します。この設定は、MFA が直接適用されているユーザーの MFA のみをトリガーします。詳細は、「SSO (Salesforce 組織) での Salesforce MFA の使用」を参照してください。

認証プロバイダーを定義したら、生成された認証プロバイダー ID の値をメモします。Auth.AuthToken Apex クラスで使用します。Salesforce では、いくつかのクライアント設定 URL も生成されます。

  • テスト専用初期化 URL — Salesforce システム管理者は、この URL を使用して、サードパーティプロバイダーが正しく設定されていることを確認します。システム管理者がブラウザーでこの URL を開き、サードパーティにサインインすると、属性の対応付けにより Salesforce にリダイレクトされます。
  • シングルサインオン初期化 URL — この URL を使用して、サードパーティからサードパーティのログイン情報を使用して Salesforce への SSO を実行します。ユーザーは、ブラウザーでこの URL を開いて、サードパーティにログインします。このサードパーティは、ユーザーを作成するか既存のユーザーを更新します。次にサードパーティは、ユーザーを Salesforce にそのユーザーとしてサインインします。
  • 既存ユーザーをリンクする URL — この URL を使用して、既存の Salesforce ユーザーをサードパーティアカウントにリンクします。このユーザーはブラウザーでこの URL を開いてサードパーティにサインインし、Salesforce にサインインしてリンクを承認します。
  • OAuth 専用初期化 URL — この URL を使用して、サードパーティの OAuth アクセストークンを取得します。サードパーティサービスがトークンを取得するには、ユーザーが Salesforce で認証する必要があります。このフローでは、以降の SSO 機能は提供されません。
  • コールバック URL — 認証プロバイダーが設定のためにコールバックするエンドポイントに、この URL を使用します。認証プロバイダーは、各クライアント設定 URL の情報と共に、コールバック URL にリダイレクトする必要があります。

クライアント設定 URL では、ユーザーの特定サイトへのログイン、サードパーティからのカスタマイズされた権限の取得、認証後の特定の場所への移動を行うための、追加の要求パラメーターをサポートしています。

Facebook アプリケーションの更新

Facebook 認証プロバイダーを Salesforce に定義したら、Facebook に戻り、コールバック URL を Facebook の Web サイト URL として使用するようにアプリケーションを更新します。

SSO 接続のテスト

ブラウザーの認証プロバイダーの詳細ページで [テスト専用初期化 URL] を開きます。ユーザーは Facebook にリダイレクトされ、サインインするよう求められます。そしてサインイン時に、アプリケーションを認証するよう求められます。認証後、ユーザーは Salesforce にリダイレクトされます。

ログインページへの認証プロバイダーの追加

認証プロバイダーをログインオプションとして表示するようにログインページを設定します。組織の SSO を設定しているのか、Experience Cloud サイトの SSO を設定しているかに応じて、このステップは異なります。

 
読み込み中
Salesforce Help | Article