> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> マジックリンク認証要素を使用するパスワードレス接続の設定方法を学びます。

# マジックリンクを使用したパスワードレス認証

<Tooltip tip="Passwordless: 第1の認証要素としてパスワードに依存しない認証方式。" cta="用語集を表示" href="/docs/ja-jp/glossary?term=Passwordless">パスワードレス</Tooltip>接続を設定すると、認証を完了するためのマジックリンクをメールでユーザーに送信できます。

詳しくは、[パスワードレス認証用のメールまたはSMSを設定する](/docs/ja-jp/authenticate/login/auth0-universal-login/passwordless-login/email-or-sms)をご覧ください。

<div id="how-it-works">
  ## 仕組み
</div>

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

<div id="limitations">
  ### 制限事項
</div>

マジックリンク は、<Tooltip tip="Universal Login: アプリケーションは、ユーザーの本人確認のために、Auth0 の認可サーバーでホストされる Universal Login にリダイレクトされます。" cta="用語集を表示" href="/docs/ja-jp/glossary?term=Universal+Login">Universal Login</Tooltip> ではサポートされていません。

クラシックログインで マジックリンク を使用する場合、最初のリクエストとその応答は、どちらも同じブラウザー内で行われる必要があります。そうでないと、トランザクションは失敗します。これは、デフォルトの Web ブラウザーを変更できない iOS ユーザーにとって特に重要です。

たとえば、ユーザーが最初のリクエストを Chrome ブラウザーで行っても、メール内の マジックリンク を開くと、iOS によって自動的に Safari (デフォルトのブラウザー) で開かれます。この場合、トランザクションは失敗します。

<div id="classic-login-flow-with-magic-links">
  ### マジックリンク を使用するクラシックログインフロー
</div>

<Frame>
  <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/cdy7uua7fh8z/yYsZhaG5uzmVg1MwVCRix/0b735f499987539856fa9a251e2b09d1/Magic_Link_Flow.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=6a1cbf88bf9b8bcc7697da7c760d0e05" alt="" width="2234" height="1184" data-path="docs/images/cdy7uua7fh8z/yYsZhaG5uzmVg1MwVCRix/0b735f499987539856fa9a251e2b09d1/Magic_Link_Flow.png" />
</Frame>

その後、ユーザーはメール内のボタンまたはリンクをクリックすると、自動的にアプリケーションにサインインします。

<div id="configure-the-connection">
  ## 接続を設定する
</div>

1. Auth0 Dashboard で [Authentication > Passwordless](https://manage.auth0.com/#/connections/passwordless) に移動し、**Email** トグルを有効にします。
2. **Email** を選択して設定ウィンドウを開き、**Settings** ビューに切り替えて、メールの **From**、**Subject**、**Message** の各テキストを入力します。

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     Auth0 でカスタムのメールテンプレートを送信するには、**From** の値を `auth0.com` ドメイン以外のメールアドレスに変更する必要があります。変更しない場合は、デフォルトのメールテンプレートが送信されます。
   </Callout>
3. 生成されるサインインリンクに含める **Authentication Parameters** を入力します。
4. **Disable Sign Ups** を有効にするかどうかを決めます。この設定を有効にすると、既存ユーザーにのみパスワードレスアクセスを許可できますが、アプリケーションがユーザー列挙攻撃のリスクにさらされる可能性があります。詳しくは、[Passwordless Connections Best Practices](/docs/ja-jp/authenticate/passwordless/best-practices) を参照してください。
5. **Save** を選択します。

<div id="multi-language-support">
  ### 多言語サポート
</div>

**Message** エリアは複数言語に対応しています。

言語を指定するには、[Auth0 Authentication API Get Code or Link endpoint](https://auth0.com/docs/api/authentication#get-code-or-link) を呼び出し、`x-request-language` ヘッダーに値を設定します。このヘッダーが設定されていない場合は、ブラウザーによって自動的に設定される `accept-language` ヘッダーから言語が取得されます。

<div id="message-syntax">
  ### Messageの構文
</div>

**Message** エリアでは Liquid 構文を使用できます。この構文をパラメーター値と組み合わせることで、メッセージの要素を動的に組み立てられます。

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

```liquid lines theme={null}
{% if request_language contains 'dutch' %}
   Hier is uw verificatie code: {{ code }}
{% endif %}
{% if request_language contains 'fr-FR' %}
   Ceci est votre code: {{ code }}
{% endif %}
```

メッセージテンプレートを定義する際は、次のパラメーターを使用できます。

| パラメーター             | 説明                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| `code`             | 使用するパスワードです。                                                                                      |
| `link`             | 生成されたサインインリンクです。                                                                                  |
| `application.name` | ユーザーがサインアップするアプリケーションの名前です。                                                                       |
| `request_language` | メッセージ内容に指定された言語です。                                                                                |
| `operation`        | API を通じたユーザーのメールアドレス更新によってテンプレートがトリガーされたかどうかを示します。トリガーされた場合、値は `change_email`、それ以外の場合は `null` です。 |

<div id="update-classic-login-settings">
  ## クラシックログインの設定を更新する
</div>

アプリケーションでクラシックログインを使用している場合、マジックリンク を実装するにはページテンプレートを更新する必要があります。

1. Auth0 Dashboard で、[**Branding > Universal Login > Advanced Options**](https://manage.auth0.com/#/login_settings) に移動します。

2. **Login** ビューに切り替え、**Default Templates** ドロップダウンで **Lock (passwordless)** を選択します。

3. 次に、`Auth0LockPasswordless` のコードセクションに新しいパラメーターを追加します。テンプレートに `passwordlessMethod` を追加してください。

   ```bash lines theme={null}
   passwordlessMethod: 'link',
   ```

4. **Save** を選択します。

埋め込みログインの設定オプションの詳細については、[埋め込みログインでのパスワードレス認証](/docs/ja-jp/authenticate/passwordless/implement-login/embedded-login) を参照してください。

<div id="enable-applications">
  ## アプリケーションを有効にする
</div>

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

<div id="email-providers">
  ## メールプロバイダー
</div>

Auth0 は既定で、独自の SMTP プロバイダーを使用してメールを送信します。Auth0 に組み込まれているメールプロバイダーはテスト専用であり、メールテンプレートのカスタマイズには対応していません。

[独自の SMTP メールプロバイダーを設定する](/docs/ja-jp/customize/email/smtp-email-providers)と、メール配信の管理、監視、トラブルシューティングに加え、メールテンプレートのカスタマイズも可能になります。

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

* [Mandrill](/docs/ja-jp/customize/email/smtp-email-providers/configure-mandrill-as-external-smtp-email-provider)
* [Amazon SES](/docs/ja-jp/customize/email/smtp-email-providers/configure-amazon-ses-as-external-smtp-email-provider)
* [SendGrid](/docs/ja-jp/customize/email/smtp-email-providers/configure-sendgrid-as-external-smtp-email-provider)
* [SparkPost](/docs/ja-jp/customize/email/smtp-email-providers/configure-sparkpost-as-external-smtp-email-provider)
* [Mailgun](/docs/ja-jp/customize/email/smtp-email-providers/configure-mailgun-as-external-smtp-email-provider)
* [カスタム SMTP 外部メールプロバイダー](/docs/ja-jp/customize/email/smtp-email-providers/configure-custom-external-smtp-email-provider)
