Microsoft Entra IDとADFSのメール検証

Auth0ユーザーのプロファイルにはemail_verifiedフィールドがあり、接続タイプに応じてさまざまな方法で設定できます。データベース接続の場合、ユーザーはメールを検証するためにメール検証フローを実行する必要があります。フェデレーション接続の場合、IDプロバイダーは独自の基準に基づいてemail_verifiedフィールドを返すことができます。

Azure ADとADFSは、返されるメールが検証済みであることを保証できません。

  • ADFSでは、ADFS管理者は任意のメールを設定できます。

  • Azure ADでは、Azure ADテナントの構成方法に応じて、Azure ADによって返されるメール アドレスがOfficeメールボックスに対応する場合と対応しない場合があります。Auth0は、それが実行されるかどうかを知ることができません。

ただし、Azure ADまたはADFSがどのように構成および管理されているかがわかっている場合は、それらのアカウントからのメールが検証されていると信頼することができます。

両方のニーズに対応するために、Azure ADとADFS接続には、次の2つの値を持つメール検証プロパティがあります。

  • email_verifiedを常にtrueに設定する

  • email_verifiedを常にfalseに設定する

Azure AD接続には、共通エンドポイントを使用するプロパティもあります。有効にすると、ユーザーは任意のAzure ADテナントで認証できるようになります。どのAzure ADテナントも検証済みのメールを返すとは限らないため、メール検証プロパティのemail_verifiedfalse設定する必要があります。

プロパティが常にemail_verifiedfalseに設定する、に設定されている場合、ログインごとにユーザープロファイル属性を同期する設定が無効になっていない限り、ユーザーは次回ログイン時にemail_verifiedfalseに設定します。

Azure AD/ADFSメール検証移行設定

以前のバージョンでは、Auth0では常に、Microsoft Entra IDおよびADFS接続のemail_verifiedフィールドをtrueに設定していました。過去にAzure ADおよびADFS接続を使用していた場合は、メール検証の接続設定を上書きし、以前の動作を維持するテナント設定があります。

新しいテナント設定は、[Auth0 Dashboard] > [Settings(設定)] > [Advanced(詳細)]で確認できます。[Migrations(移行)]セクションを見つけて、Azure AD/ADFS接続のメール検証デフォルト設定を見つけます。

Dashboard - Advanced Tenant Settings - Migrations

この設定が無効である場合、email_verifiedは常にAzure AD/ADFS接続に対してtrueになります。有効である場合、接続レベルでメール検証設定を使用します。

Azure AD/ADFS接続のメール検証フロー

アプリケーションで、Azure AD/ADF 接続のユーザーからのメールを常に検証する必要がある場合は、テナントの[Advanced Settings(高度な設定)]セクションで[Enable email verification flow during login for Azure AD and ADFS connections(Azure ADおよびADFS接続のログイン中にメール検証フローを有効にする)]オプションを有効にできます。

ユーザーが未検証のメールで初めて認証すると、Auth0はユーザーにメールアカウントに送信される1回限りのコードを入力してメールを検証するよう求めます。

Auth0 - Email Verification Prompt - One-Time Code

ユーザーがこの手順を完了すると、email_verifiedフィールドがtrueに設定され、Azure ADまたはADFSがユーザーに別のメールを返さない限り、ユーザーは再度メール検証を求められることはなくなります。

この新しい画面は、クラシックログインを使用している場合でも、ユニバーサルログインエクスペリエンスを使用してレンダリングされます。カスタマイズ方法の詳細については、「ユニバーサルログインページのカスタマイズ」をお読みください。

ユーザーに送信されるメールのカスタマイズ方法の詳細については、「Auth0を使ってメールを検証する」をお読みください。