Flexible Identifiersと属性
Flexible Identifierとは、ユーザーがログイン画面で自身を認証するために入力する属性です。メールアドレス、ユーザー名、電話番号、またはそれらの2つ以上の組み合わせから選択できます。
属性と識別子の定義
この製品では、属性とは、メールアドレス、電話番号、ユーザー名など、保存が可能なユーザーデータの一部を指しています。すべての識別子は属性ですが、特定の属性だけが識別子です。
識別子とは、所定の接続においてユーザーを個別に識別する属性です。メールアドレス、電話番号、ユーザー名は個人を一意に識別できるため、識別子として機能します。一方、他の属性はユーザープロファイルに関係していますが、ユーザーを一意に識別することはできません。
Flexible Identifiersを使用する
Flexible Identifiersは、一般的なアクセスに使用されますが、以下の制限があります。
電話の属性を含むFlexible Identifiersは、ユニバーサルログインでのみ利用可能であり、電話プロバイダーを設定する必要があります。
サインアップ時に電話の検証を使用するには、Identifier Firstを設定する必要があります。
Adaptive MFAを使用するには、メールアドレス属性を有効にする必要があります。
Organizations向けにサインアップ招待を使用するには、ユーザープロファイルにメールを設定しておく必要があります。
総当たり攻撃防御によってブロックされたエンドユーザーは、SMSメッセージを通じて自分自身のブロックを解除することはできません。他の方法も使用できます。詳しくは、「総当たり攻撃防御」をお読みください。
Flexible Identifiersは、識別子フィールドを最初のログイン画面に移動させ、パスワードリセットのプロンプトをemailからusernameに変更します。
Flexible Identifiersを使用する際の問題
Flexible Identifiersを構成および管理する際に遭遇する可能性のある問題のリストを以下に示します。
アプリケーションによる認可要求でスコープに
電話
が指定されていない場合、phone_number
クレームは受信されません。スコープの詳細については、「スコープ」をお読みください。[Import Users to Auth0(ユーザーをAuth0にインポート)]がオンに設定されている場合、Get Userカスタムデータベースアクションスクリプトは有効でなければなりません。詳しくは、データベースからの自動移行の構成をご覧ください。
[Custom Database with Import Mode(カスタムデータベースのインポートモード)]がオンに設定されている場合、各ユーザーに一意のユーザー名とメールアドレスが割り当てられていなければなりません。
Change Passwordカスタムデータベースアクションスクリプトを使用し、
email
とemail_verified
をTrue
に設定したい場合は、オブジェクトに対して優先されるemail_verified
状態を返す必要があります。詳細については、「パスワードの変更」をお読みください。[Import Users to Auth0(ユーザーをAuth0にインポート)]をオフにしてカスタムデータベース接続を使用する場合は、ユーザープロファイルのプロパティをAuth0の正規化ユーザープロファイルに合わせる必要があります。詳細については、「正規化ユーザープロファイル」をお読みください。
[Import Users to Auth0(ユーザーをAuth0にインポート)]をオンにしてカスタムデータベース接続を使用する場合、Auth0は
phone_number
とphone_verified
Identifier Firstのプロンプトにより、最初の画面にすべての識別子が表示され、以前の設定が削除されます。また、パスワードのリセットプロンプトでは、入力フィールドがメールではなくユーザー名に対して表示されます。
SMSポンピング攻撃を回避するためのベストプラクティスをよく理解してください。詳細については、提供しているSMSポンピング攻撃に関する文書をお読みください。