詳細情報:
パスワードなしのログインのコーディングに関する考慮事項
パスワードなしのログインを実装する前に、次のヒントと推奨事項を確認してください。
- ユーザーが検証済みかどうかを確認する
-
ユーザーがパスワードなしでログインするには、ユーザーが登録済みかつ検証済みである必要があります。SMS のワンタイムパスワードを使用してログインするには、検証済みの電話番号が必要です。また、メールのワンタイムパスワードを使用してログインするには、検証済みのメールアドレスが必要です。
ID 検証は、ユーザーインターフェースと API のいずれから実行するかを指定できます。「ユーザーの ID 検証方法の表示」を参照してください。
- ユーザーが登録した検証方法を参照する
TwoFactorMethodsInfoを使用してユーザーの検証方法を確認します。system.site.passwordlessLoginから返されたエラーを処理する- ユーザーを検証できないために
system.site.passwordlessLoginメソッドでエラーが返された場合、そのエラーを処理します。たとえば、ユーザーを IdP にリダイレクトするか、代替ページを使用してパスワードを収集してsite.loginメソッドを呼び出します。 - ユーザーのログイン後に ID 情報をさらに取得する
- たとえば、電話番号を登録するように、ユーザーのログイン後に開始されるログインフローを設定します。
System.UserManagementの登録および登録解除メソッドを使用して、ユーザーの検証の登録を管理します。 - ユーザーのメールアドレスと携帯電話番号が一意であることを確認する
- メールアドレスと電話番号はユーザーオブジェクトの
User.MobilephoneとUser.Emailにそれぞれ保存されます。ただし、これらは一意ではありません。確実に一意になるようにするには、メールと電話のコピーをUser.CommunityNicknameなどの一意の項目に保存します。または、カスタム項目を作成して値を保存します。 - ユーザーごとに 2 つの検証方法を取得する (回復目的)
- ユーザーが 2 つの検証方法を持つことをお勧めします (電話番号とパスワード、電話番号とメールアドレスなど)。この情報は、ユーザーのサインアップ時に収集できます。または、後続のログイン時にログインフローを使用してこの情報を収集できます。
- 電話番号の形式が Salesforce で予期されるものであることを確認する
System.UserManagement.formatPhoneNumberメソッドを使用して、電話番号の形式が正しいことを確認します。- ログインコントローラーでユーザーをログインする方法を判別する
- パスワードなしのログインを実装する場合、ログインページに入力された ID に基づいてユーザーを特定するようにログインコントローラーを作成します。次に、ユーザーが登録した検証方法を確認します。パスワードなしのログイン、SSO、ソーシャルサインオンなど、設定されたメカニズムによりログインプロセスを呼び出すようにコントローラーを設定します。
- パスワードの完全な削除が可能
- ユーザーに「シングルサインオンの有効」ユーザー権限を割り当てます。このユーザー権限は組織で代理認証が有効になっている場合に使用できます。代理認証を有効にするには、Salesforce にお問い合わせください。この機能を有効にしたら、ユーザーにこの権限を割り当てることができます。

