Visualforce を使用したカスタムログインフローの作成
Visualforce と Apex コントローラを使用してカスタムログインフローをプログラムで作成できます。Visualforce を使用すると、ログインページの外観や動作、フロー完了後のユーザの移動先を詳細に制御できます。ログインページを最初から設計し、ページのあらゆる詳細を制御できます。
Visualforce ページの Apex コントローラにビジネスプロセスを定義します。Salesforce では入力変数が Visualforce ページのログインフローに渡されませんが、ユーザおよびログインコンテキストにはアクセスできます。次のいずれかの Apex メソッドを含める必要があります。
- Auth.SessionManagement.finishLoginFlow() は、ログインフローが完了してユーザがホームページにリダイレクトされることを示します。
- Auth.SessionManagement.finishLoginFlow(startURL) は、ログインフローが完了してユーザが特定のページにリダイレクトされることを示します。
ログインフローは、制限されたセッションで実行されます。finishLoginFlow メソッドをコールするとセッションの制限が削除され、ユーザが Salesforce またはコミュニティにアクセスできるようになります。いつ、またはどの条件下でこのメソッドをコールしてセッション制限を解除するかを決定します。
以下は Visualforce ページのログインフローの例です。ユーザがボタンをクリックして finishLoginFlow メソッドを呼び出します。ログインフローが正しく機能するように showHeader="false" を指定します。
以下は、ビジネスプロセスを定義する Apex コントローラの例です。
この Visualforce ページアクセスに関連付ける各プロファイルを指定します。
- [設定] から、[クイック検索] ボックスに「Visualforce」と入力し、[Visualforce ページ] を選択します。
- 使用する Visualforce ページの横にある [セキュリティ] をクリックします。
- 使用可能なプロファイルのリストから、このログインフローに関連付けるプロファイルを追加します。
- [設定] から、Visualforce ページをログインフローとして指定し、プロファイルをフローに接続します。「ログインフローの設定とプロファイルへの接続」を参照してください。