ログインフローの作成
クラウドフローデザイナを使用して、ログインフローを構築します。ログインフローを使用して、Salesforce にアクセスする前にビジネスプロセスを実行するようユーザに指示します。
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方 |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザ権限 | |
|---|---|
| クラウドフローデザイナでフローを開く、編集または作成する | 「Force.com Flow の管理」 |
たとえば、ログイン時にユーザから詳細を収集するフォームを挿入できます。ユーザを他の情報 (サービスの利用規約など) のページに移動できます。ログインフローの一般的な用途は、カスタム 2 要素認証 (2FA) プロセスを実装してセキュリティを強化することです。
クラウドフローデザイナを使用して、ログインフロー画面を作成します。次に、[設定] から Salesforce の標準ログインページに画面を埋め込みます。認証プロセスの間、ユーザはログインフロー画面に移動します。ユーザは認証に成功してログインフローを完了すると、Salesforce にリダイレクトされます。必要に応じて、ログインプロセスでユーザを直ちにログアウトすることもできます。
2FA のログインフローを作成する場合、Apex メソッドを使用して、セッションコンテキストの取得、ユーザの IP アドレスの抽出、信頼済み IP 範囲からの要求であるかどうかの確認が行われます。信頼済み IP 範囲内からの要求である場合は、フローがスキップされ、ユーザが組織にログインします。要求が IP 範囲外である場合、次の作業を行うフローが呼び出されます。
- 時間ベースのワンタイムパスワード (TOTP) などの追加ログイン情報を使用してログインするようユーザに指示する
- ユーザを強制的にログアウトする
- その他のオプションを含むページにユーザを移動する
独自のログインフローの構築
独自のログインフローを構築するには、次のプロセスに従います。
- クラウドフローデザイナおよび Apex を使用してフローを作成します。たとえば、ユーザが信頼済み IP 範囲外からログインしている場合のみ認証の第 2 要素を必要とするカスタム IP ベースの 2FA フローを設計できます。
フローに次の要素を含めます。
- Apex プラグインを定義する新しい Apex クラス。このプラグインは、Process.Plugin から実装し、タイムベースのワンタイムパスワード (TOTP) 方式およびサービスにアクセスするために Auth.SessionManagement クラスを使用します。Salesforce によって生成された TOTP に対して、ユーザによって提供される TOTP を検証するために、プラグインの Apex クラスは、クイックレスポンス (QR) コードを使用して時間ベースのキーを生成します。
- QR コードをスキャンするための画面要素。
- トークンが有効な場合および無効な場合に処理するための決定要素。
次の入力変数を使用して、開始時のフローの入力を行います。
名前 値の説明 LoginFlow_LoginType ログイン種別 (Application、OAuth、SAML など) LoginFlow_IpAddress ユーザの現在の IP アドレス LoginFlow_LoginIpAddress 認証後に変更可能な、ログイン中に使用されるユーザの IP アドレス LoginFlow_UserAgent ユーザのブラウザによって提供されるユーザエージェント文字列 LoginFlow_Platform ユーザのオペレーティングシステム LoginFlow_Application 認証を要求するために使用されるアプリケーション LoginFlow_Community このログインフローがコミュニティに適用される場合の現在のコミュニティ LoginFlow_SessionLevel 現在のセッションセキュリティレベル (STANDARD または HIGH_ASSURANCE) LoginFlow_UserId ユーザの 18 文字の ID 次の変数を使用して、フローの完了後のユーザの移動先を指定します。名前 説明 LoginFlow_FinishLocation 文字列型。ログインフローの完了後に組織のどこにユーザを移動するのかを指定します。文字列は相対パスまたは有効な Salesforce URL である必要があります。ログインプロセスでは、ユーザを組織外にリダイレクトできません。 LoginFlow_ForceLogout ブール型。ユーザを直ちにログアウトし、そのユーザのログインフローを強制的に終了する場合はこの変数を true に設定します。 - フローを保存します。
- フローを有効化します。
- ログインフローの [設定] ページから、ログインフローとしてフローを指定し、プロファイルに接続します。