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_verifiedtrueに設定します。

Microsoft Entra IDとADFSのエンタープライズ接続について、Auth0は一部のカスタムメール検証ワークフローに対応しています。これで、他のシステムからのユーザーが安全で正確な方法によってメール検証されていることを確認できます。詳細は、「Microsoft Entra IDとADFSのメール検証」をお読みください。

そのような場合には、PATCH /api/v2/usersエンドポイントを使用して、email_verifiedtrueに設定します。

特殊な検証の対応

Microsoft Entra IDとADFSのエンタープライズ接続について、Auth0は一部のカスタムメール検証ワークフローに対応しています。これで、他のシステムからのユーザーが安全で正確な方法によってメール検証されていることを確認できます。詳細については、「Microsoft Entra IDとADFSのメール検証」をお読みください。

もっと詳しく