メインコンテンツへスキップ
接続を設定すると、認証を完了するためのマジックリンクをユーザーにメールで送信できます。 詳細については、パスワードレス認証用にメールまたは SMS を設定するを参照してください。

仕組み

ユーザーが マジックリンク を開くと、Auth0 によって直接ログインされます。これは、OTP を記載したメールアドレスを受け取り、アプリケーションに戻って OTP を入力する場合と機能的には同じですが、実際にそれらの手順を行う必要はありません。

制限事項

マジックリンク は、 ではサポートされていません。 Classic Login で マジックリンク を使用する場合、最初のリクエストとそのレスポンスは、どちらも同じブラウザー内で行われる必要があります。そうでない場合、トランザクションは失敗します。これは、デフォルトの Web ブラウザーを変更できない iOS ユーザーにとって特に重要です。 たとえば、ユーザーが最初のリクエストを Chrome ブラウザーで行っても、メールアドレス内の マジックリンク を開くと、iOS によって自動的に Safari (デフォルトのブラウザー) で開かれることがあります。この場合、トランザクションは失敗します。
その後、ユーザーがメール内のボタンまたはリンクをクリックすると、アプリケーションに自動的にサインインします。

接続を設定する

  1. Auth0 Dashboard で Authentication > パスワードレス に移動し、Email トグルを有効にします。
  2. Email を選択して設定ウィンドウを開き、Settings ビューに切り替えて、メールの FromSubjectMessage テキストを入力します。
    Auth0 がカスタムメールテンプレートを送信するには、From の値を auth0.com ドメインを使用しないメールアドレスに変更する必要があります。変更しない場合、Auth0 はデフォルトのメールテンプレートを送信します。
  3. 生成されるサインインリンクに含める Authentication Parameters を入力します。
  4. Disable Sign Ups を有効にするかどうかを決めます。この設定を有効にすると、既存のユーザーにのみパスワードレスアクセスを許可できますが、アプリケーションがユーザー列挙攻撃のリスクにさらされる可能性があります。詳しくは、パスワードレス Connections Best Practices を参照してください。
  5. Save を選択します。

多言語サポート

Message 領域は複数言語に対応しています。 言語を指定するには、Auth0 Authentication API Get Code or Link endpoint を呼び出し、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 %}
メッセージテンプレートの定義時には、次のパラメーターを使用できます。
ParameterDescription
code使用するパスワードです。
link生成されたサインインリンクです。
application.nameユーザーがサインアップしているアプリケーションの名前です。
request_languageメッセージの内容で要求された言語です。
operationAPI を介したユーザーのメールアドレス更新によってテンプレートがトリガーされたかどうかを示します。トリガーされた場合、値は change_email、それ以外の場合は null です。

Classic Login の設定を更新する

アプリケーションで Classic Login を使用している場合、マジックリンクを実装するにはページテンプレートを更新する必要があります。
  1. Auth0 Dashboard で、Branding > Universal Login > Advanced Options に移動します。
  2. Login ビューに切り替え、Default Templates ドロップダウンで Lock (passwordless) を選択します。
  3. 次に、コード内の Auth0LockPasswordless セクションに新しいパラメーターを追加します。テンプレートに passwordlessMethod を追加してください。
    passwordlessMethod: 'link',
    
  4. Save を選択します。
埋め込みログインの設定オプションの詳細については、Embedded Login を使用するパスワードレス認証 を参照してください。

アプリケーションを有効にする

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

メールプロバイダー

Auth0 はデフォルトで、独自の SMTP プロバイダーを使用してメールを送信します。Auth0 の組み込みメールプロバイダーはテスト専用であり、メールテンプレートのカスタマイズには対応していません。 メール通信を管理、監視、トラブルシューティングし、メールテンプレートをカスタマイズするには、独自の SMTP メールプロバイダーを設定します。 Auth0 は次のメールプロバイダーをサポートしています。