Auth0を使ってメールを検証する
ユーザーが提供したメールアドレスを使用する際には、ユーザーがそのメールを実際に使用できるかを確かめることが先決です。これは、ユーザーへのメール送信では常に必要で、検索のインデックスとしてメールを使う場合にも行います。Auth0では、ユーザーが本人であることを確認する方法としては、メールアドレスの使用を推奨していません。
メールの検証は以下のようなアプリケーションには必要不可欠です。
ユーザーにインデックスを付ける基本的な方法の1つとしてメールアドレスを使用する
メールをユーザーに送信する
アカウントのリンクを奨励するのにメールアドレスを使用する
メールアドレスに結び付けたアカウントをユーザーが作成できるようにする
Auth0では、アプリケーションにメール検証を追加するいくつかの方法と、サインインしようとするユーザーにメールの検証を要求するマーケットプレイス拡張機能を提供しています。
正しい手法を選択する
メールには検証済または未検証のマークを付ける方法が複数あります。どの手法が最適かを判断するために、ご自身やチームで以下の点を検討してください。
識別子とパスワードをAuth0(またはAuth0を介して接続されているデータベース)に保管する(予定)か?
Auth0に組み込みのメール検証フローを利用できない、特殊なメール検証上の要件があるか?
大量のユーザーを検証済メールに一括設定する必要があるか?
メールの検証が必要になるユーザーがMicrosoft Entra ID、ADFS、その他のエンタープライズ接続からアクセスしてくるか?
識別子とパスワードをAuth0で保管するか、カスタムデータベース接続を使って独自のシステムでユーザーを保管する場合には、おそらくAuth0に組み込みのメール検証フローを使用できます。
特殊な要件があるためAuth0の組み込みフローを利用できない場合や、大量のユーザーを一括設定しなければならない場合には、APIエンドポイントをご利用ください。
最後に、エンタープライズ接続からのユーザーを扱う場合、一部の接続には専用のメール検証ワークフローがあります。詳細については、「特殊な検証の対応」をお読みください。
メール確認リンク
Auth0でメールを検証する一般的な方法は、ユーザーにメール確認リンクを送信することです。ユーザーがこのリンクをクリックすると、ユーザーのemail_verified
フラグがtrue
に設定されます。
デフォルトで、Auth0はユーザーのサインアップ時にメール確認リンクを送信します。
Auth0が確認メールを送信するタイミングをカスタマイズすることもできます。たとえば、一括でメールを検証する必要がある場合や、検証済のメールが必要なアクションをユーザーが実行するまで検証を遅らせたい場合などです。
ユーザーが確認メールを受け取るタイミングを制御するには、2つの方法があります。
メール検証ジョブを使用します。これは、Auth0がメール検証テンプレートを使って確認メールを送信することをトリガーします。
メール検証チケットを作成して、メールを自分で送信します。その際には、ユーザーがメールを確認するのにクリックするべきチケットを含めて送信します。
ワンタイムパスワード
ワンタイムパスワード(OTP)は、新しいユーザーのアカウント作成時にメールで送信して、確実にすべてのユーザーのメールが検証されるようにします。メール確認リンクはメールスキャナーやユーザー自身による偶発的な確認につながる可能性があるため、OTPが各ユーザーが既存のメールアドレスを自発的に確認することを保証します。OTPを使用するには、テナントでユニバーサルログイン、フレキシブル識別子、およびIdentifer Firstログインが有効化されていなければなりません。
別の方法でメールを検証したい状況があるかもしれません。たとえば、ユーザーのリストを使ってまとめて検証したり、独自に作成したカスタムワークフローを通してユーザーのメールを検証する方法があったりする場合です。

特殊な検証の対応
そのような場合には、PATCH /api/v2/users
エンドポイントを使ってemail_verified
をtrue
に設定します。
Microsoft Entra IDとADFSのエンタープライズ接続について、Auth0は一部のカスタムメール検証ワークフローに対応しています。これで、他のシステムからのユーザーが安全で正確な方法によってメール検証されていることを確認できます。詳細は、「Microsoft Entra IDとADFSのメール検証」をお読みください。
そのような場合には、PATCH /api/v2/users
エンドポイントを使用して、email_verified
をtrue
に設定します。
特殊な検証の対応
Microsoft Entra IDとADFSのエンタープライズ接続について、Auth0は一部のカスタムメール検証ワークフローに対応しています。これで、他のシステムからのユーザーが安全で正確な方法によってメール検証されていることを確認できます。詳細については、「Microsoft Entra IDとADFSのメール検証」をお読みください。