Janrain 認証プロバイダーの設定
Janrain を認証プロバイダーとして設定し、ユーザーが Janrain ログイン情報を使用して Salesforce にログインできるようにします。
必要なエディション
| 使用可能なインターフェース: Lightning Experience および Salesforce Classic |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| 設定を参照する | 「設定・定義の参照」 |
| 設定を編集する | 「アプリケーションのカスタマイズ」 および 「認証プロバイダーの管理」 |
Janrain 認証プロバイダーの設定は、他のプロバイダーの設定とは若干異なります。フローを開始するために、Salesforce にプロバイダーを登録した後に取得するシングルサインオン (SSO) URL を使用しません。代わりに、サイトにリリースされた Janrain のログインウィジェットを使用します。
Janrain プロバイダーを設定する手順は、次のとおりです。
- 登録ハンドラーを設定します。
- Janrain アプリケーションを登録します。
- Salesforce で Janrain プロバイダーを定義します。
- Janrain からログインウィジェットコードを取得します。
- ログインウィジェットをコールするサイトを作成します。
登録ハンドラーの設定
シングルサインオンに認証プロバイダーを使用するには、登録ハンドラーを作成する必要があります。登録ハンドラーがユーザーを作成し、ID プロバイダーを介して Salesforce にアクセスする既存のユーザーを更新します。Apex または Flow Builder を使用して登録ハンドラを設定できます。詳細は、「Create an Authentication Provider Registration Handler (認証プロバイダー登録ハンドラーの作成)」を参照してください。
Janrain アプリケーションの登録
Janrain Web サイトから Janrain アカウントにサインアップしてください。Janrain アカウントを設定した後で、apiKey が必要になります。
- [リリース] | [Web にサインイン] | [トークンを処理] を選択します。
-
apiKeyをコピーします。キーは、後で Salesforce で Janrain プロバイダーを作成するときに必要です。 -
[Deployment | Application Settings | Domain Whitelist (リリースアプリケーション設定ドメインホワイトリスト)] にある Janrain アカウントの Janrain ドメイン許可リストに
Salesforceを追加します。
Salesforce での Janrain プロバイダーの定義
Salesforce で Janrain プロバイダーを作成するには、Janrain API キーが必要です。
- [設定] から、[クイック検索] ボックスを使用して [認証プロバイダー] を見つけて選択します。
- [新規] をクリックします。
- プロバイダータイプに [Janrain] を選択します。
- プロバイダーの名前を入力します。
- コールバック URL に使用する URL サフィックスを入力します。たとえば、プロバイダーの URL サフィックスが MyJanrainProvider である場合、SSO URL は https://mydomain_login_url または site_url /services/auth/sso/JanrainProvider のようになります。
-
コンシューマーの秘密には、Janrain
apiKeyの値を使用します。 - コンシューマー鍵とコンシューマーの秘密を入力すると、コンシューマーの秘密がデフォルトで SOAP API の応答に含まれます。SOAP API 応答で秘密を表示しないようにするには、[SOAP API 応答にコンシューマーの秘密を含める] の選択を解除してください。2022 年 11 月より、メタデータ API 応答では、秘密が常にプレースホルダーの値に置き換えられます。デプロイ時に、プレースホルダーをプレーンテキストのコンシューマーの秘密に置き換えるか、後から UI で値を変更してください。
- 必要に応じて、エラーのレポートに使用するプロバイダーのカスタムエラー URL を入力します。
- 必要に応じて、ユーザーが SSO フローを使用して認証された場合に、ログアウト後の移動先を指定するカスタムログアウト URL を入力します。この項目を使用して、ユーザーをブランド設定されたログアウトページか、またはデフォルトの Salesforce ログアウトページ以外の場所のいずれかに移動します。URL は、http または https プレフィックスを付けて完全修飾する必要があります (https://acme.my.salesforce.com など)。
-
Apex 登録ハンドラを使用するには、次の手順を実行します。
- [登録ハンドラ種別] で、[Apex] を選択します。
-
[登録ハンドラ] で、
Auth.RegistrationHandlerインタフェースを実装する既存の Apex クラスを選択します。または、登録ハンドラのテンプレートを作成するには、[登録ハンドラテンプレートを自動的に作成] をクリックします。このクラスを後で編集してデフォルトのコンテンツを変更してから使用します。
-
登録ハンドラーにフローを使用するには、次の手順を実行します。
- [登録ハンドラ種別] で、[フロー] を選択します。
- [登録ハンドラー] で、[ID ユーザー登録] フロー種別の既存のフローを選択します。
-
デフォルトプロファイルを選択します。登録ハンドラーを実行するには、デフォルトプロファイルが必要です。ここでデフォルトプロファイルを指定しない場合、フロー自体でデフォルトプロファイルを設定します。
認証プロバイダーユーザー登録フローテンプレートを使用する場合、ここで設定したプロファイルは defaultProfileId 変数に自動的に保存されます。
-
デフォルトの取引先を選択します。Experience Cloud サイトで認証プロバイダーを使用している場合、このアカウントには新しい内部ユーザーが保存されます。
「認証プロバイダーのユーザー登録」フローテンプレートを使用する場合、ここで設定したプロファイルは自動的に defaultAccountId 変数に保存されます。
-
[Execute Registration As (登録の実行ユーザー)] で、Apex クラスまたはフローを実行する実行ユーザーを選択します。このユーザーは「ユーザーの管理」権限を持っている必要があります。
[他のアカウントで登録を実行] では、登録ハンドラーが動作するコンテキストが提供されます。本番環境では、通常、[他のアカウントで登録を実行] ユーザー用にシステムユーザーを作成します。このように、ハンドラーによって実行される操作は、その登録プロセスが簡単に特定されます。たとえば取引先責任者が作成される場合、システムユーザーがそれを作成します。
- プロバイダーでポータルを使用するには、[ポータル] ドロップダウンリストからポータルを選択します。
- [アイコン URL] に、サイトのログインページのボタンとして表示するアイコンのパスを追加します。このアイコンは Experience Cloud サイトにのみ適用されます。Salesforce のログインページまたは [私のドメイン] のログイン URL には表示されません。ユーザーは、このボタンをクリックし、サイトに関連付けられた認証プロバイダーを使用してログインします。独自の画像へのパスを指定するか、いずれかのサンプルアイコンの URL を項目にコピーしてください。
- ID プロバイダーの MFA サービスではなく、Salesforce 多要素認証 (MFA) 機能を使用するには、[この SSO プロバイダーで Salesforce MFA を使用] を選択します。この設定は、MFA が直接適用されているユーザーの MFA のみをトリガーします。詳細は、「SSO (Salesforce 組織) での Salesforce MFA の使用」を参照してください。
- 変更内容を保存します。
生成されたコールバック URL の値を書き留めます。この URL は、Janrain の設定を完了するために必要です。
Janrain を認証プロバイダーとして設定した後、複数のクライアント設定パラメーターが使用できるようになります。Janrain ログインウィジェットを使用して、コールバック URL の flowtype 値にこれらを使用します。
test— サードパーティプロバイダーが正しく設定されていることを確認します。システム管理者は、flowtype=test を使用するように Janrain ウィジェットを設定し、サードパーティにサインインして、属性の対応付けと共に Salesforce にリダイレクトされます。link— 既存の Salesforce ユーザーをサードパーティアカウントにリンクします。ユーザーは、flowtype=link を使用するように Janrain ウィジェットが設定されたページに移動して、サードパーティにサインインし、Salesforce にサインインしてリンクを承認します。sso— サードパーティのログイン情報を使用して、サードパーティから Salesforce への SSO を実行します。ユーザーは、flowtype=ssoを使用するように Janrain ウィジェットが設定されたページに移動して、サードパーティにサインインします。このサードパーティは、ユーザーを作成するか既存のユーザーを更新します。次にサードパーティは、ユーザーを Salesforce にそのユーザーとしてサインインします。
クライアント設定 URL では、ユーザーの特定サイトへのログイン、サードパーティからのカスタマイズされた権限の取得、認証後の特定の場所への移動を行うための、追加の要求パラメーターをサポートしています。
Janrain からのログインウィジェットコードの取得
Salesforce 組織で Janrain からログインウィジェットコードを取得します。
- Janrain アカウントで [アプリケーション] | [Web にサインイン] | [コードの取得] を選択します。
-
トークン URL として、Salesforce の Janrain プロバイダー情報のコールバック URL の値をクエリパラメーター
flowtype=ssoと共に入力します。次に例を示します。https://acme.my.salesforce.com/services/authcallback/00DD##############/JanrainApp?flowtype=ssoExperience Cloud サイトの場合は、
communityパラメーターを追加してトークン URL としてログインウィジェットに渡します。次に例を示します。janrain.settings.tokenUrl='https://acme.my.salesforce.com/services/authcallback/00DD##############/JanrainApp'+'?flowtype=sso&community='+encodeURIComponent('https://acme.my.site.com/customers');
