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

> フック、フィルター、関数を使って、Login by Auth0 WordPress Plugin を拡張する方法を説明します。

# Login by Auth0 WordPress Plugin を拡張する

WordPress プラグインは、実行時の特定のタイミングでアクションやフィルターを使ってカスタムコードを実行することで、要件に合わせて拡張できます。このドキュメントでは、Login by Auth0 プラグインで利用できる既存のフックについて説明します。このプラグインとの連携をさらに深めるのに役立つ新しいフィルターやアクションについては、ぜひレビューし、承認したいと考えています。詳しくは、[`README` の Contributing セクション (プラグインの GitHub リポジトリ内) ](https://github.com/auth0/wordpress?tab=readme-ov-file#contributing)をご覧ください。

<div id="wordpress-actions">
  ## WordPress Actions
</div>

WordPress Actions では、処理中の特定のタイミングでカスタムコードを実行できます。WordPress Actions の詳細については、[wordpress.org の WordPress Plugin Handbook: Actions](https://developer.wordpress.org/plugins/hooks/actions/)をご覧ください。

<div id="auth0_before_login">
  ### auth0\_before\_login
</div>

このActionは、ユーザーの認証が正常に完了したあと、WordPress にログインする前に `WP_Auth0_LoginManager` で実行されます。必要に応じて、`wp_die()` を使うか例外をスローすることで、ログインプロセスを停止できます。

<div id="auth0_user_login">
  ### auth0\_user\_login
</div>

このActionは、ユーザーの認証が正常に完了し、WordPress にログインした後に `WP_Auth0_LoginManager` 内で実行されます。特定のメタ値を設定したり、通知を送信したり、他のサービスにピンを送ったりするために使用できます。

<div id="wpa0_user_created">
  ### wpa0\_user\_created
</div>

この Action は、WordPress ユーザーの作成が正常に完了した直後に `WP_Auth0_Users` で実行されます。ユーザーの値を変更したり、追加のユーザーメタを設定したり、その他の新規ユーザー作成時のアクションをトリガーしたりするために使用できます。

<div id="filters">
  ## フィルター
</div>

WordPress のフィルターも、処理中の特定のタイミングでカスタムコードを実行しますが、常に入力されたものと同じ型の変更済みの値を返します。フィルターの詳細については、[WordPress Plugin Handbook: Filters on wordpress.org](https://developer.wordpress.org/plugins/hooks/filters/) をご覧ください。

<div id="auth0_create_user_data">
  ### auth0\_create\_user\_data
</div>

このフィルターは、Auth0 から渡されるユーザー情報をもとに WordPress で新しいユーザーを作成する際、ユーザーデータ配列を変更するために使用できます。受け取るパラメータは 2 つです。

* `$user_data` は、Auth0 プロファイルから解析されたユーザーデータです。
* `$userinfo` は、Auth0 ユーザープロファイルです。

このフィルターは、コアの `wp_insert_user()` 関数に渡されるデータ配列を必ず返す必要があります。

<div id="auth0_get_wp_user">
  ### auth0\_get\_wp\_user
</div>

このフィルターは、プラグインがログイン対象の対応するユーザー (auth0 の `user_id` に基づく) を見つけた後に呼び出され、カスタムの照合ルール (たとえば、常にメールアドレスで照合するなど) で既定の動作を上書きするために使用されます。

フィルターが null を返した場合は、メールアドレスで検索します。詳しくは、[WordPress との連携](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/integrate-with-wordpress)をご覧ください。

<div id="auth0_verify_email_page">
  ### auth0\_verify\_email\_page
</div>

このフィルターは `WP_Auth0_Email_Verification` で実行され、ログイン中のユーザーがサイトにアクセスする前にメールアドレスの確認が必要な場合、レンダリングされる HTML を変更します。なお、この HTML は `wp_die()` に渡され、表示される前にそこで変更されます (詳細については、core 内の `_default_wp_die_handler()` の定義を参照してください) 。

<div id="auth0_get_auto_login_connection">
  ### auth0\_get\_auto\_login\_connection
</div>

このフィルターは、`WP_Auth0_LoginManager` で自動ログインプロセスに使用する接続を変更するために使われます。wp-admin の設定が取得され、その後このフィルターを通して渡されます。

<div id="wp_auth0_get_option">
  ### wp\_auth0\_get\_option
</div>

このフィルターは、オプションを取得する関数やメソッドで使用され、出力値を変更します。

<div id="auth0_migration_ws_authenticated">
  ### auth0\_migration\_ws\_authenticated
</div>

このフィルターは `WP_Auth0_Routes` で使用され、ユーザー移行時に JSON エンコードされて Auth0 に返される `WP_User` オブジェクトを変更するためのものです。

<div id="wpa0_should_create_user">
  ### wpa0\_should\_create\_user
</div>

このフィルターは、ユーザーを作成するかどうかを判断する際に `WP_Auth0_Users` で使用されます。最初に渡される値は `TRUE` です。何らかの理由で `FALSE` が返された場合、登録は拒否され、登録を試みているユーザーにエラーメッセージが表示されます (`WP_Auth0_UsersRepo::create()`) 。

<div id="auth0_login_css">
  ### auth0\_login\_css
</div>

このフィルターは、ログインウィジェット自体を含むログインページのCSSを変更するために使用されます。このフィルターは、wp-admin の設定ページからCSSが取得される前に実行されます。

<div id="auth0_login_form_tpl">
  ### auth0\_login\_form\_tpl
</div>

Auth0 ログインフォームで使用するテンプレートをフィルタリングします。これは、`wp-content/plugins/auth0/templates/auth0-login-form.php` の内容を置き換える HTML を含むファイルのパスを返す必要があります。標準の Lock 初期化 JS は、ログインフォームをインスタンス化するために `auth0-login-form` という ID 属性を探すので、その属性が含まれていることを確認するか、`wp-content/plugins/auth0/assets/js/lock-init.js` ファイルを独自のものに置き換えてください。

<div id="auth0_settings_fields">
  ### auth0\_settings\_fields
</div>

このフィルターは、既存のフォームフィールドを変更したり、新しいフィールドを追加したりするために使用します。変更または追加を反映した `$options` 配列を返してください。新しいフィールドには、以下に示すようにフィールドのコールバックを指定する必要があります。

<div id="auth0_auth_scope">
  ### auth0\_auth\_scope
</div>

このフィルターを使用すると、開発者はログイン時に要求されるスコープを追加または変更できます。これは、[カスタムクレーム](/docs/ja-jp/secure/tokens/json-web-tokens/create-custom-claims)を追加したり、<Tooltip tip="リフレッシュトークン: ユーザーに再度ログインさせることなく、新しいアクセストークンを取得するために使用されるトークン。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Refresh+Token">リフレッシュトークン</Tooltip>を要求したりするために使用できます。

<div id="auth0_nonce_cookie_name">
  ### auth0\_nonce\_cookie\_name
</div>

このフィルターを使用すると、<Tooltip tip="Nonce: リプレイ攻撃を検出して防ぐために、認証プロトコルで一度だけ発行される任意の番号。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=nonce">nonce</Tooltip> のバリデーションに使用するCookie名を変更できます。例については、以下の `auth0_state_cookie_name` フィルターを参照してください。

<div id="auth0_state_cookie_name">
  ### auth0\_state\_cookie\_name
</div>

このフィルターを使用すると、state パラメータ値に使用される Cookie 名を変更できます。接頭辞や接尾辞を追加したり、文字列全体を置き換えたりできます。state パラメータの詳細については、[OAuth 2.0 の state パラメータで攻撃を防ぎ、ユーザーをリダイレクトする](/docs/ja-jp/secure/attack-protection/state-parameters)を参照してください。
変更を行う場合は、必ず有効な文字を使用してください。

`<cookie-name> には、制御文字（CTL）、スペース、タブを除く任意の US-ASCII 文字を使用できます。また、次のような区切り文字を含めることもできません: ( ) < > @ , ; : \ " / ? = { }。`

`Set-Cookie` HTTP レスポンスヘッダーの詳細については、[MDN Web Docs の Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie)を参照してください。

<div id="auth0_settings_constant_prefix">
  ### auth0\_settings\_constant\_prefix
</div>

プラグイン設定を上書きするための定数の接頭辞を変更するには、このフィルターを使用します。このフィルターは Auth0 プラグインが読み込まれる前に**必ず**実行される必要があるため、MU プラグイン内に配置する必要があります。MU プラグインの詳細については、[wordpress.org の Must Use Plugins](https://developer.wordpress.org/advanced-administration/plugins/mu-plugins/) をご覧ください。

<div id="auth0_authorize_url_params">
  ### auth0\_authorize\_url\_params
</div>

このフィルターを使用すると、開発者は必要に応じて `/authorize` エンドポイントのパラメーターを調整できます。この関数は、URLパラメーターの連想配列を返す必要があります。これらのパラメーターの使われ方について詳しくは、[Authentication API Explorer: Login](https://auth0.com/docs/api/authentication#login)を参照してください。

<div id="auth0_authorize_url">
  ### auth0\_authorize\_url
</div>

このフィルターを使用すると、開発者は使用前に `/authorize` URL 全体を調整できます。この関数は、有効なURLを文字列として返す必要があります。このURLの用途について詳しくは、[Authentication API Explorer: Login](https://auth0.com/docs/api/authentication#login)を参照してください。

<div id="auth0_die_on_login_output">
  ### auth0\_die\_on\_login\_output
</div>

このフィルターを使うと、ログイン時にエラーが発生した際に `wp_die()` に渡される HTML コンテンツを変更または置き換えることができます。このフィルターは、メール認証用のコンテンツには影響しません (`auth0_verify_email_page` を参照) 。

<div id="auth0_coo_auth0js_url">
  ### auth0\_coo\_auth0js\_url
</div>

このフィルターを使うと、COO フォールバックページの読み込み時に、auth0.js のデフォルトの CDN URL を上書きできます。

<div id="auth0_slo_return_to">
  ### auth0\_slo\_return\_to
</div>

このフィルターを使うと、Auth0 からログアウトする際に、既定の `returnTo` URL を上書きできます。

<div id="auth0_logout_url">
  ### auth0\_logout\_url
</div>

このフィルターを使用すると、Auth0 のログアウト URL を上書きできます。使用方法の詳細については、[ログアウト](/docs/ja-jp/authenticate/login/logout)をご覧ください。

<div id="auth0_use_management_api_for_userinfo">
  ### auth0\_use\_management\_api\_for\_userinfo
</div>

このフィルターは、Implicit ログインフローを使用していない場合に、<Tooltip tip="Management API: 顧客が管理タスクを実行できるようにする製品。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip> から取得したユーザープロファイルデータを使用するかどうかを決定します。API を使用する場合は boolean の `true` (デフォルト) を、<Tooltip tip="ID トークン: リソースへのアクセスではなく、クライアント自体を対象とした認証情報。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=ID+token">ID トークン</Tooltip> を使用する場合は `false` を返します。

<div id="auth0_lock_options">
  ### auth0\_lock\_options
</div>

このフィルターは、**Features > <Tooltip tip="Universal Login: アプリケーションは、ユーザーの本人確認を行うために、Auth0 の認可サーバーでホストされる Universal Login にリダイレクトされます。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Universal+Login">Universal Login</Tooltip> Page** がオフの場合に、shortcode、widget、wp-login.php ページで使用される埋め込み Lock ログインフォームのオプションを変更するために使用できます。

<div id="auth0_jwt_leeway">
  ### auth0\_jwt\_leeway
</div>

このフィルターを使うと、ID トークンの検証に使用する猶予時間を調整できます。返す値は、秒数を表す整数である必要があります。

<div id="auth0_jwt_max_age">
  ### auth0\_jwt\_max\_age
</div>

このフィルタを使用すると、認可URLに送信される `max_age` URL パラメーターを調整できます。

<div id="auth0_authorize_state">
  ### auth0\_authorize\_state
</div>

このフィルターを使うと、`state` データがエンコードされてログインに使用される前に、内容を絞り込めます。このデータはログイン成功後に検証され、加工されないまま利用できるよう提供されます。

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

* [WordPress と連携する](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/integrate-with-wordpress)
* [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 Plugin の無効な state エラーをトラブルシューティングする](/docs/ja-jp/customize/integrations/cms/wordpress-plugin/troubleshoot-wordpress-plugin-invalid-state-errors)
