仕組み
ユーザーがマジックリンクを開くと、Auth0によってそのままログインされます。これは、ワンタイムパスワード (OTP) が記載されたメールを受け取り、アプリケーションに戻ってOTPを入力するのと機能的には似ていますが、実際にそれらの手順を行う必要はありません。制限事項
マジックリンク は、 ではサポートされていません。 クラシックログインで マジックリンク を使用する場合、最初のリクエストとその応答は、どちらも同じブラウザー内で行われる必要があります。そうでないと、トランザクションは失敗します。これは、デフォルトの Web ブラウザーを変更できない iOS ユーザーにとって特に重要です。 たとえば、ユーザーが最初のリクエストを Chrome ブラウザーで行っても、メール内の マジックリンク を開くと、iOS によって自動的に Safari (デフォルトのブラウザー) で開かれます。この場合、トランザクションは失敗します。マジックリンク を使用するクラシックログインフロー

- ユーザーがアプリケーションのログイン画面でメールアドレスを入力します。
- Auth0がマジックリンクを含むメールをユーザーに送信します。
- ユーザーがメールを開き、マジックリンクをクリックします。
- Auth0がリンクを検証し、アプリケーションに通知します。
- アプリケーションがユーザーをログインさせます。
接続を設定する
- Auth0 Dashboard で Authentication > Passwordless に移動し、Email トグルを有効にします。
-
Email を選択して設定ウィンドウを開き、Settings ビューに切り替えて、メールの From、Subject、Message の各テキストを入力します。
Auth0 でカスタムのメールテンプレートを送信するには、From の値を
auth0.comドメイン以外のメールアドレスに変更する必要があります。変更しない場合は、デフォルトのメールテンプレートが送信されます。 - 生成されるサインインリンクに含める Authentication Parameters を入力します。
- Disable Sign Ups を有効にするかどうかを決めます。この設定を有効にすると、既存ユーザーにのみパスワードレスアクセスを許可できますが、アプリケーションがユーザー列挙攻撃のリスクにさらされる可能性があります。詳しくは、Passwordless Connections Best Practices を参照してください。
- Save を選択します。
多言語サポート
Message エリアは複数言語に対応しています。 言語を指定するには、Auth0 Authentication API Get Code or Link endpoint を呼び出し、x-request-language ヘッダーに値を設定します。このヘッダーが設定されていない場合は、ブラウザーによって自動的に設定される accept-language ヘッダーから言語が取得されます。
Messageの構文
Message エリアでは Liquid 構文を使用できます。この構文をパラメーター値と組み合わせることで、メッセージの要素を動的に組み立てられます。 たとえば、request_language パラメーターを参照して、メッセージの言語を変更できます。
クラシックログインの設定を更新する
アプリケーションでクラシックログインを使用している場合、マジックリンク を実装するにはページテンプレートを更新する必要があります。- Auth0 Dashboard で、Branding > Universal Login > Advanced Options に移動します。
- Login ビューに切り替え、Default Templates ドロップダウンで Lock (passwordless) を選択します。
-
次に、
Auth0LockPasswordlessのコードセクションに新しいパラメーターを追加します。テンプレートにpasswordlessMethodを追加してください。 - Save を選択します。