2要素認証(SF_TOTP)設定
1.サンプルパッケージのインストール
■Sandbox環境
https://test.salesforce.com/packaging/installPackage.apexp?p0=04to0000000WA6J
■本番環境
https://login.salesforce.com/packaging/installPackage.apexp?p0=04to0000000WA6J
※リンクはSalesforceのHelpより取得。
2.ログインフローの作成
設定からログインフローを新規作成する。
※ここではユーザライセンスを「Customer Community Login」に設定。
以上。
動作確認
設定したログインフローが動き、QRコードスキャン画面に遷移。
Google認証[Google Authenticator]など認証アプリでスキャン後にトークン入力して進む。
※2回目以降はQRコード表示はなく、トークン入力だけ。
問題なくコミュニティにログインできた。
認証システムアプリと連携を切りたい
「アプリケーション登録: ワンタイムパスワードジェネレータ」の切断を押下する。
※確認もなく切断されるので注意。
※この切断はSalesforce側だけの設定解除のため、必要に応じて認証アプリ側も削除する必要がある。
2要素認証を行うユーザを個々に指定したい
未検証だが以下2パターンがありえそう。
- 2要素認証有無でプロファイルを分ける。
- 2要素認証ロジック(TOTPPlugin.cls)をいじる。
画面の文言など変えたい
こちらも未検証。
- フロー「SF-TOTP」をいじる。
うまくいかない場合
「標準の Salesforce ページへのアクセスを許可」のチェックがONであるか確認する。
OFFだとエラーになる模様。標準ページを許可したくない場合はこの方法以外で検討する必要がありそう。(ログインフローをVisualforceで作りこむとか)
参考
https://help.salesforce.com/articleView?id=security_login_flow_examples.htm&type=5
ログインフローのサンプルパッケージ部分