> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WordPressとの統合

> Auth0をWordPressと統合する方法のシナリオを説明します。

Login by Auth0プラグインは、受信したAuth0プロファイルデータを使用してユーザーアカウントを作成または照合することにより、ログインとアカウント作成のフローを自動的に処理します。ログインプロセスとサインアッププロセスは似ており、WordPressデータベースのデータに基づいてアカウントが作成または照合されます。Auth0経由でログインするとWordPressアカウントが作成され、Auth0経由でサインアップすると既存のWordPressアカウントと一致します。

プラグインでユーザー移行の設定を使用している場合、ログインフローは以下で説明するものと若干異なります。詳細については、「[WordPressプラグインのLogin by Auth0でユーザーを移行する](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/user-migration-in-login-by-auth0)」をお読みください。

以下はプロセスの手順です。

1. ユーザーがWordPressのサイトのログインページにアクセスします。これは、`[SITE URL]/wp-login.php`のメインログインページ、またはウィジェットやショートコードを含むページである可能性があります。
2. ユーザーがユーザー名とパスワードを入力し、ソーシャルアイコンをクリックして別のIDプロバイダーを使用するか、Auth0ログインフォームのLockでパスワードレスプロセスを完了します。
3. Auth0が選択された方法でユーザーの認証を試みます。

   1. ユーザー名とパスワードまたはパスワードレスでログインまたはサインアップが失敗すると、Lockにエラーメッセージが表示されます。
   2. 成功すると、プロセスが継続します。
4. ログインチケットとプラグインによって生成された`state`値を使用して。ユーザーが`/authorize`エンドポイントにリダイレクトされます。これが完了すると、Auth0ユーザーレコードが作成され、残りのプロセスはWordPressサイトで実行されます。
5. 実際のログインプロセスは、使用しているフローが[認可コードフロー](/docs/ja-jp/get-started/authentication-and-authorization-flow/authorization-code-flow)または[暗黙フロー](/docs/ja-jp/authenticate/login/oidc-conformant-authentication/oidc-adoption-implicit-flow)かによって異なります。

   1. 認可コードフローのログインの場合：

      1. 認可コードとURLパラメーター内の同じ`state`値を持つコールバックURLの`SITE URL/index.php?auth0=1`にユーザーがリダイレクトされます。
      2. `state`値が検証されます。検証に合格しない場合は、「無効な状態」エラーが表示され、ログインプロセスが停止します。状態検証の詳細については、「[WordPressプラグインのLogin by Auth0のトラブルシューティング](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/troubleshoot-login-by-auth0)」をお読みください。
      3. IDトークンが検証され、送信中に改ざんされていないことが確認されます。IDトークンが無効である場合は、エラーメッセージが表示され、ログインプロセスが停止します（IDトークンの検証の詳細については、トラブルシューティングのページを参照してください）。
      4. ユーザープロファイルデータは、マシンツーマシンフローを使用してManagement API経由で取得されます。詳細については、「[マシンツーマシンフロー](/docs/ja-jp/get-started/authentication-and-authorization-flow/client-credentials-flow)」をお読みください。
   2. 暗黙フローのログインの場合：

      1. IDトークンとアンカーリンク内の同じ`state`値を持つコールバックURLの`SITE URL/wp-login.php?auth0=implicit`にユーザーがリダイレクトされます。
      2. このアンカーリンクはJSで解析され、同じ2つの値をURLパラメーターに含めてコールバックURの`SITE URL/index.php?auth0=implicit`にポストバックされます。
      3. IDトークンが検証され、送信中に改ざんされていないことが確認されます。IDトークンが無効である場合は、エラーメッセージが表示され、ログインプロセスが停止します（IDトークンの検証の詳細については、トラブルシューティングのページを参照してください）。
      4. 有効なIDトークンの情報は、ユーザープロファイルデータとして使用されます。
6. Auth0の認証プロセスが完了すると、プラグインがプロファイルデータをWordPressのユーザーと照合しようとします。
7. プラグインがサイトにメールアドレスが必要か（プラグイン設定の\*\*［Advanced（詳細）］\*\*タブ）、そして受け取るプロファイルに`email_verified`フラグが設定されているを確認します。

   1. サイトにメールアドレスが必要で、ユーザーがメールアドレスを提供しない場合（Xなどの一部のソーシャルIDプロバイダーはメールアドレスを含めません）、ログインプロセスが停止し、「このアカウントにはメールが関連付けられていません」というエラーメッセージが表示されます。
   2. サイトにメールアドレスが必要で、ユーザーの`email_verified`フラグが`true`に設定されていない場合は、ログインプロセスが停止し、「このサイトには確認済みのメールアドレスが必要です」というエラーメッセージと検証メールを再送信するためのリンクが表示されます。これは、ユーザーがメールアドレスを正常に確認するまで表示されたままになります。
   3. サイトにメールアドレスが不必要な場合、またはユーザーの`email_verified`フラグが`true`に設定されている場合は、ログインプロセスが続行されます。
8. 受け取ったAuth0ユーザーIDと一致する`usermeta`値を持つユーザーがWordPressデータベース内に存在するか（ユーザーが以前にAuth0でサインアップまたはログインしたことがあるか）をプラグインが確認します。

   1. 受け取ったユーザーIDのユーザーが見つかると、ログインプロセスが続行されます。
   2. 受け取ったAuth0ユーザーIDのユーザーが見つからない場合、プラグインはユーザーと一致するメールアドレスを探します。

      1. 見つかった場合は、そのユーザーが選択され、ログインプロセスが続行されます。
      2. 見つからない場合、プラグインはWordPressサイトに登録が有効化されているかを確認します。

         1. 登録がオフの場合、ログインプロセスが停止して、「ユーザーを作成できませんでした。登録プロセスは利用できません」というエラーメッセージが表示されます`。`
         2. 登録がオンの場合は新しいユーザーが作成され、ログインプロセスが続行されます。
9. 見つかったまたは作成されたユーザーは、Auth0ユーザーIDも含めて、受け取ったAuth0プロファイルデータで更新されます。
10. ユーザーが`wp_set_auth_cookie`を使用してWordPressアカウントにログインし、コアの`do_login`アクションが実行されます。
11. ユーザーがサイトのページにリダイレクトされます。このページは、プラグイン設定の\*\*［Advanced（詳細）］\*\*タブで設定されたデフォルトページ、ショートコードまたはウィジェットが使用された場合の元のログインURL、またはログインプロセス中に提供された別のページである可能性があります。

これで、ユーザーがAuth0とWordPressのアカウントにログインし、この2つがAuth0ユーザーIDを使って関連付けられます。

## もっと詳しく

* [Login by Auth0をインストールする](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/install-login-by-auth0)
* [Login by Auth0を構成する](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/configure-login-by-auth0)
* [WordpressプラグインのLogin by Auth0のトラブルシューティング](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/troubleshoot-login-by-auth0)
* [Auth0 Wordpressプラグインのログイン時間を延長する](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/extend-login-by-auth0)
