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

詳細については、[パスワードレス認証用にメールまたは SMS を設定する](/ja/docs/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="/ja/docs/glossary?term=Universal+Login">Universal Login</Tooltip> ではサポートされていません。

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

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

<div id="classic-login-flow-with-magic-links">
  ### マジックリンクを使用した Classic Login フロー
</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 > パスワードレス](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` ドメインを使用しないメールアドレスに変更する必要があります。変更しない場合、Auth0 はデフォルトのメールテンプレートを送信します。
   </Callout>
3. 生成されるサインインリンクに含める **Authentication Parameters** を入力します。
4. **Disable Sign Ups** を有効にするかどうかを決めます。この設定を有効にすると、既存のユーザーにのみパスワードレスアクセスを許可できますが、アプリケーションがユーザー列挙攻撃のリスクにさらされる可能性があります。詳しくは、[パスワードレス Connections Best Practices](/ja/docs/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">
  ### メッセージの構文
</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 %}
```

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

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

<div id="update-classic-login-settings">
  ## Classic Login の設定を更新する
</div>

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

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** を選択します。

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

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

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

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

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

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

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

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