> ## 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 プラグインは、Actionやフィルターを使用して実行時の特定のタイミングでカスタムコードを実行することで、特定の要件に合わせて拡張できます。このドキュメントでは、Login by Auth0 プラグインで利用できる既存のフックについて説明します。このプラグインをさらに柔軟に統合できるようにする新しいフィルターやActionの提案は歓迎しており、レビューのうえ承認します。詳しくは、[プラグインの GitHub リポジトリにある `README` の Contributing セクション](https://github.com/auth0/wordpress?tab=readme-ov-file#contributing)を参照してください。

<div id="wordpress-actions">
  ## WordPress アクション
</div>

WordPress アクションは、処理の特定のタイミングでカスタムコードを実行します。WordPress アクションの詳細については、[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` 内で実行されます。特定のメタ値の設定、通知の送信、または他のサービスへの ping に使用できます。

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

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

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

WordPress のフィルターも、処理の特定のタイミングでカスタムコードを実行しますが、常に渡された値と同じ型の変更済みの値を返します。フィルターの詳細については、[wordpress.org の WordPress Plugin Handbook: Filters](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 との統合](/ja/docs/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>

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

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

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

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

このフィルターを使用して、<Tooltip tip="Nonce: リプレイ攻撃の検出と防止のために、認証プロトコルで一度だけ発行される任意の数値。" cta="用語集を見る" href="/ja/docs/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 パラメーターで攻撃を防ぎ、ユーザーをリダイレクトする](/ja/docs/secure/attack-protection/state-parameters)を参照してください。
変更には、必ず有効な文字のみを使用してください。

`A <cookie-name> can be any US-ASCII characters except control characters (CTLs), spaces, or tabs. It also must not contain a separator character like the following: ( ) < > @ , ; : \ " / ? = { }.`

`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 を上書きできます。使用方法の詳細については、[ログアウト](/ja/docs/authenticate/login/logout)を参照してください。

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

このフィルターは、Implicit Login Flow を使用していない場合に、<Tooltip tip="Management API: 顧客が管理タスクを実行できるようにするプロダクト。" cta="用語集を見る" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> から取得したユーザープロフィールデータを使用するかどうかを決定します。API を使用する場合はブール値 `true` (デフォルト) を、<Tooltip tip="IDトークン: リソースへのアクセスではなく、クライアント自体のための認証情報。" cta="用語集を見る" href="/ja/docs/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="/ja/docs/glossary?term=Universal+Login">Universal Login</Tooltip> Page** がオフの場合に、ショートコード、ウィジェット、および 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>

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

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

このフィルターを使用すると、state データがエンコードされてログインに使用される前に、その内容をフィルタリングできます。このデータはログイン成功後に検証され、変更されずにそのまま利用できます。

<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 を設定する](/ja/docs/customize/integrations/cms/wordpress-plugin/configure-login-by-auth0)
* [WordPress プラグインで発生する state 無効エラーのトラブルシューティング](/ja/docs/customize/integrations/cms/wordpress-plugin/troubleshoot-wordpress-plugin-invalid-state-errors)
