テナントで柔軟な識別子を有効にすると、本番環境に破壊的変更が生じる可能性があります。この機能は開発環境で十分にテストし、広く展開する前に現在の接続設定を控えておいてください。
柔軟な識別子 とは、ユーザーがログイン画面で入力して認証に使用する属性です。メールアドレス、username、電話番号、またはそれらのうち 2 つ以上の組み合わせから選択できます。
この製品では、属性 とは、メールアドレス、電話番号、username などのように、保存できるユーザーデータの項目を指します。すべての識別子は属性ですが、識別子に該当するのは特定の属性のみです。
識別子 とは、特定の接続内で個々のユーザーを識別する一意の属性です。メールアドレス、電話番号、username は個人を一意に識別できるため、識別子として使用できます。一方、その他の属性はユーザーのプロフィール情報として使われますが、ユーザーを一意に識別するものではありません。
Flexible Identifiers を使用する
Flexible Identifiers は一般提供ですが、次の制限があります。
電話番号属性を含む Flexible Identifiers は、Universal Login でのみ利用できます。また、電話プロバイダーを設定 する必要があります。
サインアップ時に電話番号認証を使用するには、Identifier First を設定する必要があります。
Adaptive MFA を使用するには、メールアドレス属性を有効にする必要があります。
組織 の招待によるサインアップを使用するには、User Profile にメールアドレスが必要です。
Brute Force Protection によってブロックされたエンドユーザーは、SMS メッセージでは自分でブロックを解除できません。ほかの方法を利用できます。詳しくは、Brute Force Protection を参照してください。
Flexible Identifiers では、識別子フィールドが最初のログイン画面に移動し、パスワードリセットのプロンプトがメールアドレスから username に変更されます。
電話番号およびメールアドレスの識別子検証用 OTP トークンの有効期間は 900 秒です。
Flexible Identifiers 使用時の問題
以下は、Flexible Identifiers の設定および管理時に発生する可能性がある問題の一覧です。
アプリケーションの認可リクエストでスコープ phone が指定されていない場合、phone_number クレームは返されません。スコープの詳細については、Scopes を参照してください 。
Import Users to Auth0 が on に設定されている場合、Get User カスタムデータベース Action スクリプトは有効である必要があります。詳細については、Configure Automatic Migration from Your Database を参照してください 。
各ユーザーには、接続タイプに関係なく、一意の username、メールアドレス、電話番号を割り当てる必要があります。電話番号は、属性として追加されていない場合でも一意として扱われます。
カスタムデータベース Action スクリプトの Change Password を使用して email と email_verified を True に設定する場合は、オブジェクトで使用する email_verified の状態を返す必要があります。詳細については、Change Password を参照してください 。
Import Users to Auth0 が off に切り替えられているカスタムデータベース接続を使用する場合は、ユーザープロファイルのプロパティを Auth0 の正規化ユーザープロファイルに合わせる必要があります。詳細については、Normalized User Profile を参照してください 。
Import Users to Auth0 が on に切り替えられているカスタムデータベース接続を使用する場合、Auth0 は phone_number と phone_verified の一意性を確認します。
Identifier First プロンプトでは、最初の画面にすべての識別子が表示され、以前の設定は削除されます。また、Reset Password プロンプトでは、入力フィールドにメールアドレスではなく username が表示されます。
SMS Pumping 攻撃を回避するためのベストプラクティスを確認してください。詳細については、SMS Pumping に関するホワイトペーパー を参照してください。