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

> Auth0 でアプリケーションとして WordPress を設定する方法

# Login by Auth0 を設定する

Login by Auth0 は、プラグインの セットアップウィザード を使用して設定することも、より細かく制御するために手動で設定することもできます。詳しくは、[Install Login by Auth0](/ja/docs/customize/integrations/cms/wordpress-plugin/install-login-by-auth0) を参照してください。以下の手順は、セットアップウィザード が完了しなかった場合や、ログインに関する問題のトラブルシューティングにも使用できます。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  以下の手順を始める前に、Auth0 アカウントにログインしておく必要があります。まだアカウントをお持ちでない場合は、[作成してください](https://auth0.com/signup)。
</Callout>

<div id="auth0-configuration">
  ## Auth0 の設定
</div>

Auth0 テナントは、WordPress サイトからのログインリクエストを受け入れ、少なくとも 1 つの接続 (Auth0 データベース、ソーシャル接続、または企業ディレクトリ) をユーザー ID の認証元として利用できるように設定する必要があります。テナントの詳細については、[テナントの作成](/ja/docs/get-started/auth0-overview/create-tenants) を参照してください。接続の詳細については、[IDプロバイダー](/ja/docs/authenticate/identity-providers) を参照してください。

<div id="application-setup">
  ### アプリケーションの設定
</div>

1. WordPress サイト用のアプリケーションを作成します。

* **セットアップウィザードの問題を調査している場合**は、[Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) に移動し、WordPress サイト名に近い名前のアプリケーションを探します。見つからない場合は、ウィザードによってアプリケーションが作成されていないことを意味します。WordPress でセットアップウィザードを再起動するか、すぐ下の手順に従ってアプリケーションを手動で作成してください。
* **手動で設定する場合**は、[Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) に移動し、**Create** を選択します。アプリケーションの名前を入力し、**Regular Web Applications** を選択してから、**Create** を選択します。

1. アプリケーションの **Settings** 画面を開きます。ここで、Auth0 への接続に使用するドメイン、クライアントID、クライアントシークレットを確認できます。これらは **wp-admin > Auth0 > Settings** で使用します。
2. **Application Type** は **Regular Web Application** に、**Token Endpoint Authentication Method** は **Post** に設定する必要があります
3. **Allowed Callback URLs** までスクロールし、WordPress サイトの URL の末尾に `?auth0=1` を追加して指定します。

<Warning>
  ここで指定する Callback URL は**キャッシュしないでください**。キャッシュされると、ログイン時に「Invalid state」エラーが発生することがあります。詳細については、[Troubleshoot WordPress Plugin Invalid State Errors](/ja/docs/customize/integrations/cms/wordpress-plugin/troubleshoot-wordpress-plugin-invalid-state-errors) を参照してください。
</Warning>

1. WordPress サイトの **WordPress Address (URL)** (WordPress サイトが公開されている URL) と、異なる場合は **Site Address (URL)** (wp-admin を配信している URL) を **Allowed Web Origins** フィールドに入力します。どちらの値も、WordPress サイトの一般設定画面で確認できます。
2. WordPress サイトのログイン URL を **Allowed Logout URLs** フィールドに入力します
3. **Allowed Origins (CORS)** フィールドは空欄のままにします (上記の **Allowed Callback URLs** の値が使用されます)

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  上記のすべての URL フィールドでは、サイトのプロトコル (http または https) を正しく合わせ、**wp-admin > Settings > General > WordPress Address (URL)** で確認できる home URL をベースとして使用してください。
</Callout>

1. 下にスクロールして **Show Advanced Settings** を選択し、**OAuth** 画面を開いて、**JsonWebToken Signature Algorithm** が RS256 に設定されていることを確認します。後でこれを変更する必要がある場合は、ここだけでなく wp-admin 側でも変更してください (下記の Settings > Basic を参照) 。
2. **OIDC Conformant** をオンにします。
3. **Grant Types** タブをクリックし、少なくとも **Authorization Code** と **Client Credentials** を選択します。
4. **Save Changes** をクリックします。

<div id="authorize-the-application-for-the-management-api">
  ### Management API 用にアプリケーションを認可する
</div>

WordPress サイトが Auth0 テナントに代わって特定の操作を実行できるようにするには、上で作成したアプリケーションに <Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品です。" cta="用語集を表示" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> へのアクセスを認可する必要があります。必須ではありませんが、これにより、ログイン時に完全なユーザーデータ (`user_metadata` と `app_metadata` を含む) を取得したり、ユーザーのメールアドレスやパスワードを変更したり、確認済みのメールアドレスが必要な場合に確認メールを再送したりできるようになります。

1. アプリケーションで Client Credentials grant が許可されていることを確認します (上のセクションのステップ 10) 。
2. [Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis) に移動します。
3. **Auth0 Management API** を選択し、**Machine to Machine Applications** ビューを開きます。
4. WordPress アプリケーションを見つけ、アクセスを許可するために **Unauthorized** を選択します。
5. 表示されたパネルで、`read:users` と `update:users` のスコープのみを選択し、**Update** を選択します (**Filter scopes** フィールドを使って検索できます) 。

<div id="database-connection-setup">
  ### データベース接続の設定
</div>

データベース接続では、ユーザーレコードを Auth0 に保存したユーザー名とパスワードによるログインを有効にできます。この種類の接続は必須ではないため、<Tooltip tip="パスワードを第1認証要素として使用しない認証方式です。" cta="用語集を表示" href="/ja/docs/glossary?term=passwordless">パスワードレス</Tooltip>、ソーシャルログイン、またはエンタープライズログインのみを使用する場合は省略できます。

1. セットアップ中にウィザードを使用した場合は、[Auth0 Dashboard > Authentication > Database](https://manage.auth0.com/#/connections/database) に移動し、上記で設定したアプリケーションと似た名前の接続を探します。そうでない場合は、新しい接続を作成するか、既存の接続を使用するか、デフォルトの **Username-Password-Authentication** を使用できます。既存の接続名を選択して設定を表示するか、**Create DB Connection** を選択して手順に従います。
2. **Applications** ビューを選択し、上記で作成したアプリケーションを有効にします。

<div id="social-connection-setup">
  ### ソーシャル接続の設定
</div>

このログイン方法を有効にして設定する方法については、[ソーシャルIDプロバイダー](/ja/docs/authenticate/identity-providers/social-identity-providers)を参照してください。

<div id="enterprise-connection-setup">
  ### エンタープライズ接続の設定
</div>

このログイン方法を有効化して設定する方法については、[エンタープライズIDプロバイダー](/ja/docs/authenticate/identity-providers/enterprise-identity-providers)をご覧ください。

<div id="wordpress-configuration">
  ## WordPress の設定
</div>

1. [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) に移動し、前の手順で作成したアプリケーションを選択します。
2. 新しいタブまたはウィンドウで WordPress サイトの wp-admin にログインし、**wp-admin > Auth0 > Settings** に移動します。
3. Auth0 のアプリケーションページで、各フィールドの横にある **Copy to Clipboard** ボタンを使って **ドメイン**、**クライアントID**、**クライアントシークレット** を WordPress の設定にコピーします。
4. 下にスクロールして **Save Changes** を選択します。

<div id="php-constant-setting-storage">
  ## PHP 定数での設定保存
</div>

プラグイン設定はデータベースに保存できます (既定) 。また、特定の名前の PHP 定数を使って設定することもできます。これにより、<Tooltip tip="クライアントシークレット: クライアント（アプリケーション）が認可サーバーに対して認証を行うために使用する秘密情報です。これはクライアントと認可サーバーのみが知っている必要があり、推測されないよう十分にランダムでなければなりません。" cta="用語集を見る" href="/ja/docs/glossary?term=client+secret">クライアントシークレット</Tooltip>、API トークン、移行トークンのような機密データを、より安全に保存できるようになります (それらを定義しているファイル自体が安全に保管されていることが前提です。詳細は [wordpress.org の Hardening WordPress](https://developer.wordpress.org/advanced-administration/security/hardening/) を参照してください) 。

この定数は、プラグインが読み込まれる前に**必ず**定義する必要があります。そうしないと使用されません。これは `wp-config.php` ファイルまたは must-use プラグインで行ってください。詳細は [wordpress.org の Must Use Plugins](https://developer.wordpress.org/advanced-administration/plugins/mu-plugins/) を参照してください。定数をテーマの `functions.php` や、Auth0 の後に読み込まれるプラグインで定義した場合、その値は無視されます。

PHP 定数は次のように定義します。

既定の定数名は、`AUTH0_ENV_` に続けて、上書きするオプション名をすべて大文字で付けたものです (プレフィックスは `auth0_settings_constant_prefix` フィルターで変更できます。詳細は [Extend Login by Auth0 WordPress Plugin](/ja/docs/customize/integrations/cms/wordpress-plugin/extend-login-by-auth0) を参照してください) 。すべてのプラグインオプションを上書きでき、それらのキーは `WP_Auth0_Options::defaults()` メソッドで確認できます。

**注:** `migration_token` の値は、ユーザー移行を有効にするとプラグインによって生成されます。管理画面にすでに値がある場合は、必ず同じ値を定数に設定してください。その値を変更する必要がある場合は、<Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 の主要製品です。" cta="用語集を見る" href="/ja/docs/glossary?term=Auth0+dashboard">Auth0 Dashboard</Tooltip> で使用しているデータベース接続のカスタムスクリプトでも変更する必要があります。

設定フィールドは、この新しい値に応じて表示内容が変わり、参照用に使用中の定数が表示されます。この値はプラグイン全体で自動的に使用されます。

**重要:** 定数値を設定したあとに設定ページを保存すると、定数で設定された値が検証され (ただし変更はされません) 、データベースに保存されるオプション配列から削除されます。この機能を試しているだけの場合は、その値を削除してよい状態になるまで WordPress の管理ページで設定を保存しないでください。

WordPress マルチサイトネットワーク内のすべてのサイトで同じ定数値が使用されるため、単一のアプリケーションとデータベース接続を使うネットワークを簡単にセットアップできます。

<div id="plugin-settings">
  ## プラグインの設定
</div>

<div id="basic">
  ### 基本
</div>

* **ドメイン:** ダッシュボードのアプリケーション設定からコピーしたドメインです。オプション名は `domain` です。
* **<Tooltip tip="カスタムドメイン: 専用名または独自名を持つサードパーティのドメイン。" cta="用語集を見る" href="/ja/docs/glossary?term=Custom+Domain">カスタムドメイン</Tooltip>:** 設定されている場合に使用する、テナントのカスタムドメインです。詳しくは、[Custom Domains](/ja/docs/customize/custom-domains) を参照してください。オプション名は `custom_domain` です。
* **<Tooltip tip="クライアントID: Auth0 から登録済みリソースに付与される識別値。" cta="用語集を見る" href="/ja/docs/glossary?term=Client+ID">クライアントID</Tooltip>:** ダッシュボードのアプリケーション設定からコピーしたクライアントIDです。オプション名は `client_id` です。
* **クライアントシークレット:** ダッシュボードのアプリケーション設定からコピーしたクライアントシークレットです。オプション名は `client_secret` です。
* **<Tooltip tip="JSON Web Token (JWT): 2 者間でクレームを安全に表現するために使用される標準の IDトークン 形式（および多くの場合は アクセストークン の形式）。" cta="用語集を見る" href="/ja/docs/glossary?term=JWT">JWT</Tooltip> 署名アルゴリズム** 詳細アプリケーション設定の <Tooltip tip="OAuth 2.0: 認可プロトコルとワークフローを定義する認可フレームワーク。" cta="用語集を見る" href="/ja/docs/glossary?term=OAuth">OAuth</Tooltip> タブで設定する、トークンの署名に使用されるアルゴリズムです。デフォルトは RS256 です。オプション名は `client_signing_algorithm` です。
* **JWKS キャッシュ時間 (分) :** RS256 JWT 署名アルゴリズムを使用する場合に、JWKS 情報を保持する期間です。オプション名は `cache_expiration` です。
* **wp-login.php 上の元のログインフォーム:** WordPress の標準ログインページへのアクセスを許可またはブロックする方法を設定します。オプション名は `wordpress_login_enabled` です。ログインページコードのオプション名は `wle_code` です。

  * **なし** では、WordPress の標準ログインフォームは表示されません。
  * **Auth0 フォームの下のリンク経由** では、`wp-login.php` 上で Auth0 の埋め込みフォームのすぐ下に、WordPress 標準のログインフォームへのリンクが表示されます。ログイン URL に `?wle` を追加して、ログインページに直接アクセスすることもできます。
  * **"wle" クエリパラメーターが存在する場合** では、ログイン URL に `?wle` を追加すると、ログインページに直接アクセスできます。これにより、Universal Login ページ へのリダイレクトは回避されます。
  * **"wle" クエリパラメーターに特定のコードが含まれる場合** では、ログイン URL に `?wle=` とコードを追加すると、ログインページに直接アクセスできます。コードは自動的に生成され、この設定のコントロールの下に表示されます。これにより、Universal Login ページ へのリダイレクトは回避されます。
* **サインアップを許可:** ユーザー登録は、WordPress の Anyone can register オプションが有効な場合にのみ利用できます。この設定は **Settings > General > Membership** にあります。

<div id="features">
  ### 機能
</div>

* **<Tooltip tip="Universal Login: アプリケーションは、ユーザーの本人確認のために、Auth0 の認可サーバーでホストされる Universal Login にリダイレクトされます。" cta="用語集を表示" href="/ja/docs/glossary?term=Universal+Login">Universal Login</Tooltip> ページ:** このアプリケーションで有効なすべての接続を使用した <Tooltip tip="シングルサインオン (SSO): ユーザーが 1 つのアプリケーションにログインすると、他のアプリケーションにも自動的にログインできるようにするサービスです。" cta="用語集を表示" href="/ja/docs/glossary?term=Single+Sign-on">シングルサインオン</Tooltip> (SSO) 認証のために、`wp-login.php` ページを Universal Login ページにリダイレクトします。オプション名は `auto_login` です。
* **自動ログイン方式:** **Universal Login ページ**が有効な場合に認証で使用する、単一の有効な接続です。Universal Login ページに有効なすべての接続を表示するには、これを空欄のままにします。オプション名は `auto_login_method` です。
* **Auth0 ログアウト:** WordPress からログアウトする際に Auth0 からもログアウトするには、このオプションを有効にします。オプション名は `singlelogout` です。
* **WordPress アバターを上書き:** WordPress で Auth0 のアバターを使用するよう強制します。オプション名は `override_wp_avatars` です。

<div id="embedded">
  ### 埋め込み
</div>

ここでのオプションは Universal Login ページには影響しません (カスタマイズ オプションについては、[Auth0 Universal Login](/ja/docs/authenticate/login/auth0-universal-login) を参照してください) 。

* **パスワードレスログイン:** このオプションを有効にすると、埋め込みの Auth0 ログインフォームすべてでパスワードレスログインが有効になります。パスワードレス接続は Auth0 Dashboard で管理されます。この機能を動作させるには、このアプリケーションで少なくとも 1 つがアクティブかつ有効になっている必要があります。オプション名は `passwordless_enabled` です。
* **アイコン URL:** 埋め込みの Auth0 ログインフォームの上部に表示されるアイコンを設定します。オプション名は `icon_url` です。
* **フォームタイトル:** 埋め込みの Auth0 ログインフォームのタイトルを設定します。オプション名は `form_title` です。
* **Gravatar 統合を有効にする:** ユーザーがメールアドレスを入力すると、関連付けられた Gravatar の画像が埋め込みの Auth0 ログインフォームに表示されます。オプション名は `gravatar` です。
* **ログイン名のスタイル:** **Email** を選択すると、ユーザーはログイン時にメールアドレスを入力する必要があります。ユーザー名を有効なメールアドレスに限定したくない場合は、これを **Username** に設定します。オプション名は `username_style` です。オプション名は `client_secret_b64_encoded` です。
* **プライマリカラー:** この設定の詳細については、[Lock Configuration Options](/ja/docs/libraries/lock/lock-configuration) を参照してください。オプション名は `primary_color` です。
* **追加設定:** Lock の呼び出し時に使用するオプションを含む、有効な JSON オブジェクトです。これにより、上で設定した他のすべてのオプションが上書きされます。使用可能なオプションの一覧については、Lock: User configurable options (例: `{"disableResetAction": true }`) を参照してください。オプション名は `extra_conf` です。
* **カスタム Lock JS URL を使用する:** オフの場合、WordPress は最新のテスト済みバージョンの Lock (Auth0 埋め込みログインフォーム) を自動的に使用します。オンの場合、管理者は使用するカスタム Lock URL を指定できます。オプション名は `custom_cdn_url` です。
* **カスタム Lock JS URL:** Lock のバージョンを指す有効な URL です。このフィールドは、**Use Custom Lock JS URL** がオフの場合、自動的に非表示になります。オプション名は `cdn_url` です。
* **表示する接続:** ユーザーにログインを許可する <Tooltip tip="IDプロバイダー（IdP）: デジタルアイデンティティを保存・管理するサービス。" cta="用語集を見る" href="/ja/docs/glossary?term=identity+providers">IDプロバイダー</Tooltip> をそれぞれここに一覧表示します。空欄のままにすると、有効になっているすべてのプロバイダーが許可されます。 (詳細については、[Lock UI Customization](/ja/docs/libraries/lock/lock-ui-customization) を参照してください。) オプション名は `lock_connections` です。

  <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
    パスワードレスログインを有効にしている場合は、許可するすべてのソーシャル IDプロバイダーをここに一覧表示する必要があります。詳細については、[GitHub リポジトリの .social(options, callback)](https://github.com/auth0/lock-passwordless#socialoptions-callback) を参照してください。
  </Callout>

<div id="advanced">
  ### 高度な設定
</div>

* **確認済みメールアドレスを必須にする:** 設定すると、ユーザーがログインするには確認済みのメールアドレスを持っている必要があります。接続によっては、メールアドレスまたはユーザープロファイルデータ内の `email_verified` フラグが提供されないため、正しく動作しない場合があります。オプション名は `requires_verified_email` です。
* **戦略をスキップ:** \[確認済みメールアドレスを必須にする] が有効な場合に、この設定が表示されます。このフィールドには、ログイン時およびアカウント関連付け時に確認済みメールアドレスの要件をスキップする戦略名を指定できます。これは `email_verified` フラグを提供しない戦略に**のみ**使用してください。
* **ユーザーセッションを記憶する:** デフォルトでは、ユーザーセッションは 2 日間維持されます。この設定を有効にすると、ユーザーセッションを 14 日間維持します。オプション名は `remember_users_session` です。

  * ユーザーセッションを適切に維持するには、この設定をテナントの [Inactivity Timeout](/ja/docs/manage-users/sessions/session-lifetime-limits)docs/manage-users/sessions/session-lifetime-limits 設定以下にする必要があります。
* **ログインリダイレクト URL:** 設定すると、ログイン後にユーザーを指定した URL にリダイレクトします。これは `[auth0]` ショートコードによるログインには影響しません。オプション名は `default_login_redirection` です。ショートコードのリダイレクトを変更するには、次のように `redirect_to` 属性を追加します。

  `[auth0 redirect_to="http://yourdomain.com/redirect-here"]`
* **HTTPS コールバックを強制する:** サイトで HTTPS を利用できるものの、強制していない場合はこのオプションを有効にします。これにより、ホーム URL が HTTPS に設定されていない場合でも、Auth0 コールバックで HTTPS が強制されます。オプション名は `force_https_callback` です。
* **自動プロビジョニング:** 新規登録が許可されていない場合でも、Auth0 からの新しいユーザーを WordPress データベースに保存しますか。この設定を有効にすると、Auth0 経由でログインしたときに存在しない WordPress ユーザーが作成されます (たとえば、ユーザーが Auth0 Dashboard で作成された場合) 。オプション名は `auto_provisioning` です。

  <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
    WordPress で登録が許可されている場合は、この設定に関係なく新しいユーザーが作成されます。
  </Callout>
* **ユーザー移行:** このオプションを有効にすると、Auth0 の移行 Web サービスが公開されます。ただし、接続は [Auth0 Dashboard](https://manage.auth0.com/#) で手動設定する必要があります。移行プロセスの詳細については、[Login by Auth0 WordPress Plugin でのユーザー移行](/ja/docs/customize/integrations/cms/wordpress-plugin/user-migration-in-login-by-auth0) を参照してください。**Generate New Migration Token** ボタンを使用すると、保存されているトークンを新しいものに置き換えることができます。データベース接続の設定ページを **Custom Database** タブで開いた状態にして、両方のスクリプト内の既存のトークンを新しいものに置き換えてください。オプション名は `migration_ws` です。移行トークンのオプション名は `migration_token` です。
* **移行 IP 許可リスト:** リストに含まれる IP からのリクエストのみ、移行 Web サービスへのアクセスが許可されます。オプション名は `migration_ips_filter` です。
* **有効なプロキシ IP:** ログインおよび移行 Web サービスの IP チェックを有効にするには、プロキシまたはロードバランサーの IP アドレスを指定します。オプション名は `valid_proxy_ip` です。
* **Auth0 サーバードメイン:** Auth0 のドメインです。セットアップウィザードがアカウント情報を取得するために使用します。オプション名は `auth0_server_domain` です。

<div id="learn-more">
  ## 詳細
</div>

* [WordPress との統合](/ja/docs/customize/integrations/cms/wordpress-plugin/integrate-with-wordpress)
* [Login by Auth0 のインストール](/ja/docs/customize/integrations/cms/wordpress-plugin/install-login-by-auth0)
* [Login by Auth0 WordPress Plugin のトラブルシューティング](/ja/docs/customize/integrations/cms/wordpress-plugin/troubleshoot-login-by-auth0)
* [Login by Auth0 WordPress Plugin の拡張](/ja/docs/customize/integrations/cms/wordpress-plugin/extend-login-by-auth0)
