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

WordPress Actions

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

auth0_before_login

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

auth0_user_login

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

wpa0_user_created

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

フィルター

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

auth0_create_user_data

このフィルターは、Auth0 から渡されるユーザー情報をもとに WordPress で新しいユーザーを作成する際、ユーザーデータ配列を変更するために使用できます。受け取るパラメータは 2 つです。
  • $user_data は、Auth0 プロファイルから解析されたユーザーデータです。
  • $userinfo は、Auth0 ユーザープロファイルです。
このフィルターは、コアの wp_insert_user() 関数に渡されるデータ配列を必ず返す必要があります。

auth0_get_wp_user

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

auth0_verify_email_page

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

auth0_get_auto_login_connection

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

wp_auth0_get_option

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

auth0_migration_ws_authenticated

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

wpa0_should_create_user

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

auth0_login_css

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

auth0_login_form_tpl

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 ファイルを独自のものに置き換えてください。

auth0_settings_fields

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

auth0_auth_scope

このフィルターを使用すると、開発者はログイン時に要求されるスコープを追加または変更できます。これは、カスタムクレームを追加したり、を要求したりするために使用できます。 このフィルターを使用すると、 のバリデーションに使用するCookie名を変更できます。例については、以下の auth0_state_cookie_name フィルターを参照してください。 このフィルターを使用すると、state パラメータ値に使用される Cookie 名を変更できます。接頭辞や接尾辞を追加したり、文字列全体を置き換えたりできます。state パラメータの詳細については、OAuth 2.0 の state パラメータで攻撃を防ぎ、ユーザーをリダイレクトするを参照してください。 変更を行う場合は、必ず有効な文字を使用してください。 <cookie-name> には、制御文字(CTL)、スペース、タブを除く任意の US-ASCII 文字を使用できます。また、次のような区切り文字を含めることもできません: ( ) < > @ , ; : \ " / ? = { }。 Set-Cookie HTTP レスポンスヘッダーの詳細については、MDN Web Docs の Set-Cookieを参照してください。

auth0_settings_constant_prefix

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

auth0_authorize_url_params

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

auth0_authorize_url

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

auth0_die_on_login_output

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

auth0_coo_auth0js_url

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

auth0_slo_return_to

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

auth0_logout_url

このフィルターを使用すると、Auth0 のログアウト URL を上書きできます。使用方法の詳細については、ログアウトをご覧ください。

auth0_use_management_api_for_userinfo

このフィルターは、Implicit ログインフローを使用していない場合に、 から取得したユーザープロファイルデータを使用するかどうかを決定します。API を使用する場合は boolean の true (デフォルト) を、 を使用する場合は false を返します。

auth0_lock_options

このフィルターは、Features > Page がオフの場合に、shortcode、widget、wp-login.php ページで使用される埋め込み Lock ログインフォームのオプションを変更するために使用できます。

auth0_jwt_leeway

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

auth0_jwt_max_age

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

auth0_authorize_state

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

詳しくはこちら