> ## 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.

> 同じメールアドレスで 2 つのアカウントを持つユーザーに、それらをリンクするよう促せる Account Link Extension について説明します。

# Account Link Extension

Account Link Extension は、誤って 2 つ目のアカウントを作成した可能性があるユーザーに対して、初回ログイン時に新しいアカウントを既存のアカウントにリンクするよう促します。ユーザーは、2 つのアカウントをリンクすることも、2 つ目のアカウントを意図的に作成した場合はそのまま別々にしておくこともできます。

<div id="how-does-the-extension-work">
  ## 拡張機能はどのように機能しますか？
</div>

この拡張機能は、認証したユーザーのメールアドレスが、別の<Tooltip tip="IDプロバイダー（IdP）：デジタルアイデンティティを保存・管理するサービス。" cta="用語集を表示" href="/ja/docs/glossary?term=identity+provider">IDプロバイダー</Tooltip>に関連付けられている既存のユーザーアカウントのメールアドレスと一致した場合に、認証後にトリガーされます。

たとえば、ユーザーが `john@acme.com` というメールアドレスの Facebook アカウントでログインし、その後、同じメールアドレスで Google を使用して認証すると、次のようなページが表示されます。

<Frame>
  <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5K3KBOkhyP1SbAVaYg1yxD/618568208eca3cd15000d716ae9a1e00/account-linking-extension.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=deb2c930383073729cf3fa9eb22fbe5b" alt="Dashboard - Extensions - Account Link - Extension Example" width="1502" height="1021" data-path="docs/images/cdy7uua7fh8z/5K3KBOkhyP1SbAVaYg1yxD/618568208eca3cd15000d716ae9a1e00/account-linking-extension.png" />
</Frame>

この拡張機能では、メールアドレスが同じであっても、またメールアドレスが確認済みであっても、ユーザーが自動的にリンクされることはありません。確認済みのメールアドレスだけでは、そのユーザーが現時点で両方のアカウントに認証できることを証明するには不十分だからです。

ユーザーが **続行** を選択すると、認証のために Facebook にリダイレクトされます。ユーザーがすでにログインしている場合、Facebook はアプリケーションにリダイレクトし、ユーザーは自動的にリンクされます。ログインしていない場合は、Facebook の認証情報で認証するよう求められます。Facebook から Auth0 にリダイレクトされた後、Facebook アカウントは Google アカウントにリンクされます。このプロセスにより、ユーザーが両方のアカウントに認証するための認証情報を持っていることが確認されるため、アカウントを安全かつ適切にリンクできます。

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

この拡張機能は、<Tooltip tip="パスワードレス: 第1要素としてパスワードに依存しない認証方式。" cta="用語集を表示" href="/ja/docs/glossary?term=passwordless">パスワードレス</Tooltip>接続、デバイス認可で開始されたフロー、および <Tooltip tip="Security Assertion Markup Language (SAML): パスワードを使わずに 2 者間で認証情報をやり取りできる標準化されたプロトコル。" cta="用語集を表示" href="/ja/docs/glossary?term=SAML">SAML</Tooltip> と WS-federation プロトコルをサポートしていません。Account Link 拡張機能でサポートされていない接続を使用する場合は、代替手段として [Account Linking – Server-Side Implementation](/ja/docs/manage-users/user-accounts/user-account-linking/suggested-account-linking-server-side-implementation) と [User Initiated Account Linking – Client-Side Implementation](/ja/docs/manage-users/user-accounts/user-account-linking/user-initiated-account-linking-client-side-implementation) を参照してください。

<div id="install-and-configure-extension">
  ## 拡張機能をインストールして設定する
</div>

[Auth0 Dashboard > Extensions](https://manage.auth0.com/#/extensions) に移動し、**Auth0 Account Link** を選択します。**Install Extension** ウィンドウが開きます。

この拡張機能は、内部利用のための `auth0-account-link` という名前の新しいアプリケーションを作成します。また、既存のアカウントと同じメールアドレスを持つ新しいアカウントでユーザーがログインした場合に、そのユーザーを拡張機能にリダイレクトする新しいルールも作成します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Account Link Extension に関連付けられたアプリケーションのクライアントシークレットをローテーションした場合は、拡張機能をアンインストールし、再インストールして、新しいアプリケーションシークレットで再設定する必要があります。
</Callout>

テストするには、[このプロジェクト](https://github.com/auth0-samples/auth0-link-accounts-sample.git) を使って React のサンプルシングルページアプリケーションを作成します。

テキストエディターで `auth_config.json` ファイルを開き、ドメインと `client_id` を実際の値に更新します。

“Allowed Callback URLs”、“Allowed Logout URLs”、“Allowed Web Origins” フィールドに `http://localhost:3000` を追加します。

`http://localhost:3000` にログインし、接続を選択します。別の種類の接続を持つ検証済みユーザーにすでに関連付けられているメールアドレスを入力します。

アカウントをリンクするには、**続行** を選択します。

ログインしたら、<Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 のメイン製品。" cta="用語集を見る" href="/ja/docs/glossary?term=Auth0+dashboard">Auth0 Dashboard</Tooltip> でユーザーの詳細を確認します。ユーザーアカウントがリンクされていることがわかります。

<div id="set-up-extension">
  ## 拡張機能を設定する
</div>

<div id="change-application-name">
  ### アプリケーション名を変更する
</div>

拡張機能で使用するデフォルトのアプリケーション名は、`Account Linking` のように、顧客にとってわかりやすく説明的な名前に変更することをお勧めします。プライマリアカウントの認証時に **ログインページ** に表示されるためです。

<div id="update-the-login-page">
  ### ログインページを更新する
</div>

デフォルトでは、Auth0 の <Tooltip tip="Universal Login: アプリケーションは、ユーザーの本人確認を行うために、Auth0 の認可サーバーでホストされる Universal Login にリダイレクトされます。" cta="用語集を見る" href="/ja/docs/glossary?term=Universal+Login">Universal Login</Tooltip> で、ユーザーは通常どおりログインとサインアップの両方を行えます。ただし、アカウントリンク時に、新しいアカウントとリンクするためにプライマリアカウントの認証を求める場合、サインアップの選択肢が表示されるとユーザーを混乱させる可能性があります。

Universal Login でできることの詳細については、[Auth0 Universal Login](/ja/docs/authenticate/login/auth0-universal-login) を参照してください。

これを防ぐため、ログインページに **Sign Up** オプションを非表示にするよう伝えるクエリパラメーターを送信します。ただし、このクエリパラメーターを有効にするには、ログインページをカスタマイズする必要があります。

1. [Auth0 Dashboard > ブランディング > Universal Login](https://manage.auth0.com/#/login_settings) に移動し、**Login** ビューを選択します。
2. **Customize Login Page** スイッチを有効にして、下部のカスタムエディターを有効にします。このエディターで、Lock の設定に新しい行を追加します。
3. Lock ウィジェットを設定するオブジェクトの下部付近で、次の行を追加します (`closable` 設定の後) 。
   `allowSignUp: !config.extraParams.prevent_sign_up,`

   <Frame>
     <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7gejLGgQB5hoLPqEAJXY5w/54168b097c99c4fd6def989d5b7fe545/Universal_Login_-_Login_-_English.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=905d15be83a8f0a44e1dd9010c1b7972" alt="Dashboard - ブランディング - Universal Login - Login 設定 - Account Link Hosted Page コード例" width="1002" height="1620" data-path="docs/images/cdy7uua7fh8z/7gejLGgQB5hoLPqEAJXY5w/54168b097c99c4fd6def989d5b7fe545/Universal_Login_-_Login_-_English.png" />
   </Frame>
4. 変更を保存してから、アカウントのリンクを試します。**Sign Up** オプションが表示されなくなり、ユーザーが余計に混乱することもなくなります。

   <Frame>
     <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5LHWcm49M29Y00rI5xDaZV/773621dc56b4bff67ea618b2c919f750/hosted-page-example.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=78cdcde35878605a06241fda9f81d977" alt="Account Link Hosted Page の例" width="1356" height="916" data-path="docs/images/cdy7uua7fh8z/5LHWcm49M29Y00rI5xDaZV/773621dc56b4bff67ea618b2c919f750/hosted-page-example.png" />
   </Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Signup リンクの非表示は、Universal Login Experience ではサポートされていません。
</Callout>

<div id="customize-theme">
  ## テーマをカスタマイズする
</div>

インストール時、またはインストール後に Account Link Extension の **Settings** アイコンをクリックして、拡張機能ページの見た目をデフォルトテーマから少し変えたい場合は、カスタムスタイルシートの URL を追加できます。

<Frame>
  <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2as3Sx9y6UB0tyIuyJikR7/ee4ce139c19a0c2b8125e28b9059939e/extension-page-example.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=58a98ac97581249254374c033ede9519" alt="Account Link のテーマのカスタマイズ" width="1359" height="920" data-path="docs/images/cdy7uua7fh8z/2as3Sx9y6UB0tyIuyJikR7/ee4ce139c19a0c2b8125e28b9059939e/extension-page-example.png" />
</Frame>

<div id="administration-panel">
  ## 管理パネル
</div>

拡張機能の管理パネルを使用して、アカウントリンク用のログインページとウィジェットをカスタマイズできます。

1. [Dashboard > Extensions > Installed Extensions > Auth0 Account Link](https://manage.auth0.com/#/extensions/installed) に移動します。
2. 管理サイトにリダイレクトされます。そこで、ホストされているページの HTML コードを編集したり、アカウントリンクウィジェットのタイトル、ロゴ、色、言語などの設定を変更したりできます。

   <Warning>
     サイトの HTML コードから `{{ ExtensionCSS }}`、`{{ CustomCSS }}`、`{{ Auth0Widget }}`、`{{ ExtensionScripts }}` を削除しないでください。削除すると、拡張機能にアカウントリンクウィジェットが表示されなくなります。
   </Warning>

<div id="custom-domains">
  ## カスタムドメイン
</div>

<Tooltip tip="カスタムドメイン: 特別な名前、または独自名を持つサードパーティのドメイン。" cta="用語集を表示" href="/ja/docs/glossary?term=custom+domain">カスタムドメイン</Tooltip> を使用している場合は、configs ルールの `customDomain` にカスタムドメイン (例: `auth.custom.com`) を設定する必要があります。

1. [Auth0 Dashboard > Auth Pipeline > Rules](https://manage.auth0.com/#/rules) に移動します。
2. デフォルトでは、ルールの 27 行目は次のとおりです:
   `issuer: auth0.domain`これを次のように変更する必要があります:
   \`issuer: "myCustomDomain.com"
   URL のプロトコル部分は含めないでください。

<div id="learn-more">
  ## 詳細はこちら
</div>

* [ユーザーアカウントのリンク](/ja/docs/manage-users/user-accounts/user-account-linking)
* [ユーザーアカウントをリンクする](/ja/docs/manage-users/user-accounts/user-account-linking/link-user-accounts)
* [ユーザーアカウントのリンク: サーバーサイドでの実装](/ja/docs/manage-users/user-accounts/user-account-linking/suggested-account-linking-server-side-implementation)
* [ユーザー主導型のアカウントリンク: クライアントサイドでの実装](/ja/docs/manage-users/user-accounts/user-account-linking/user-initiated-account-linking-client-side-implementation)
* [アカウントリンク用アクセストークンへの移行](/ja/docs/troubleshoot/product-lifecycle/past-migrations/link-user-accounts-with-access-tokens-migration)
