メインコンテンツへスキップ
WordPress プラグインは、Actionやフィルターを使用して実行時の特定のタイミングでカスタムコードを実行することで、特定の要件に合わせて拡張できます。このドキュメントでは、Login by Auth0 プラグインで利用できる既存のフックについて説明します。このプラグインをさらに柔軟に統合できるようにする新しいフィルターやActionの提案は歓迎しており、レビューのうえ承認します。詳しくは、プラグインの GitHub リポジトリにある README の Contributing セクションを参照してください。

WordPress アクション

WordPress アクションは、処理の特定のタイミングでカスタムコードを実行します。WordPress アクションの詳細については、wordpress.org の『WordPress Plugin Handbook: Actions』を参照してください。

auth0_before_login

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

auth0_user_login

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

wpa0_user_created

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

フィルター

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

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

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

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 パラメーターで攻撃を防ぎ、ユーザーをリダイレクトするを参照してください。 変更には、必ず有効な文字のみを使用してください。 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を参照してください。

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 Login Flow を使用していない場合に、 から取得したユーザープロフィールデータを使用するかどうかを決定します。API を使用する場合はブール値 true (デフォルト) を、 を使用する場合は false を返します。

auth0_lock_options

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

auth0_jwt_leeway

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

auth0_jwt_max_age

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

auth0_authorize_state

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

詳細情報