メールでのパスワードレス認証

パスワードレス接続を構成して、ワンタイムパスワード(OTP)をメールでユーザーに送信し、認証を完了することができます。

詳細については、「パスワードレス認証にメールまたはSMSを構成する」をお読みください。

仕組み

新しいユーザーがOTPを受け取って初めてWebサイトで入力すると、Auth0によって認証される前に、email接続でユーザープロファイルが作成されます。

OTPが送信されたメールアドレスが既存のユーザーと一致する場合、Auth0はユーザーを認証します。

埋め込みログイン

埋め込みログインでパスワードレスにメールを使用したワークフローの図

ユニバーサルログイン

ユニバーサルログインでパスワードレスにメールを使用したワークフローの図

接続を構成する

  1. Auth0 Dashboard>Authentication>Passwordlessへ移動し、[Email(メール)]トグルを有効化します。

  2. [Email(メール)]を選択して構成ウィンドウを開き、[Settings(設定)]ビューに切り替えて、電子メールの[From(送信者)][Subject(件名)][Message(メッセージ)]を入力します。

  3. [OTP Expiry(OTPの有効期限)]および[OTP Length(OTPの長さ)]を構築します。

    • 最後に発行されたOTP(またはリンク)のみが受け入れられます。最新のものが発行されると、他のものは無効になります。一度使用すると最新のものも無効になります。

    • OTPの入力の失敗は3回まで許可されます。この後は、新しいコードを要求する必要があります。

    • 発行されたOTPは、期限が切れるまで3分間有効です(デフォルト)。

    • OTPの有効期限を延長する場合は、OTPの長さも延長する必要があります。そうしないと、攻撃者が短いコードを推測しようとする時間が長くなってしまいます。

  4. [Disable Sign Ups(サインアップを無効にする)]かどうかを決定します。この設定を有効にすると、既存のユーザーに対してのみパスワードレスのアクセスを許可できますが、アプリケーションがユーザー列挙攻撃の脅威にさらされる可能性があります。詳しくは、パスワードレス接続のベストプラクティスをお読みください。

  5. [Save(保存)]を選択します。

多言語サポート

[Message(メッセージ)]領域は複数の言語をサポートしています。

言語を指定するには、Auth0認証APIのGet CodeまたはLinkエンドポイントを呼び出して、x-request-languageヘッダーの値を設定します。このヘッダーが設定されていない場合、言語はブラウザによって自動的に設定されるaccept-languageヘッダーから抽出されます。

メッセージの構文

[Message(メッセージ)]領域はLiquid構文を受け入れます。この構文をパラメータ値と組み合わせて使用​​することで、メッセージの要素をプログラムで構築できます。

たとえば、request_languageパラメータを参照してメッセージの言語を変更できます:

{% if request_language contains 'dutch' %}
   Hier is uw verificatie code: {{ code }}
{% endif %}
{% if request_language contains 'fr-FR' %}
   Ceci est votre code: {{ code }}
{% endif %}

Was this helpful?

/

メッセージテンプレートを定義するときに使用できるパラメータは次のとおりです:

パラメーター 説明
code 使用するパスワード。
link 生成されるサインインリンク。
application.name ユーザーがサインアップしているアプリケーションの名前。
request_language メッセージコンテンツに対して要求された言語。
operation APIを介してユーザーのメール更新によってテンプレートがトリガーされたかを示します。トリガーされると値はchange_emailになります。トリガーされていない場合はnullです。

ユーザーが組織を通じてログインしている場合は、次のパラメータも利用できます:

  • organization.id

  • organization.display_name

  • organization.name

  • organization.metadata

  • organization.branding.logo_url

  • organization.branding.colors.primary

  • organization.branding.colors.page_background

これらのパラメータとその値の詳細については、Auth0 Management API組織エンドポイントの取得を参照してください。

アプリケーションの有効化

[Applications(アプリケーション)]ビューに切り替えて、パスワードレスメールを使用するアプリケーションを有効にします。

メールプロバイダー

Auth0は、デフォルトで独自のSMTPプロバイダーからメールを送信します。Auth0の組み込みメールプロバイダーはテスト目的のみに設計されており、メールテンプレートのカスタマイズはサポートされていません。

独自のSMTPメールプロバイダーを構成して、メール通信を管理、監視、トラブルシューティングし、メールテンプレートをカスタマイズします。

Auth0は次のメールプロバイダーをサポートします: