Auth0 Wordpressプラグインのログイン時間を延長する

WordPressプラグインは、アクションとフィルターを使用して実行時の特定の時点でカスタムコードを実行することで、特定の要件に合わせて拡張できます。このドキュメントでは、Login by Auth0プラグインの既存のフックについて説明します。このプラグインをさらに統合する上で役立つ、新しいフィルターとアクションをレビューして承認します。詳細については、プラグインのGitHubリポジトリのReadMeでContributing(貢献)セクションをお読みください。

WordPressアクション

WordPressアクションは、処理中の特定の時点でカスタムコードを実行します。WordPressアクションの詳細については、WordPressプラグインハンドブック: wordpress.orgのアクションをお読みください。GitHubリポジトリの例

auth0_before_login

このアクションは、ユーザーが正常に認証された後、WordPressにログインする前にWP_Auth0_LoginManagerで実行されます。必要に応じて、wp_die()を使用するか例外をスローして、ログインプロセスを停止するために使用できます。GitHubリポジトリで例を見る

auth0_user_login

このアクションは、ユーザーが正常に認証され、WordPressにログインした後にWP_Auth0_LoginManagerで実行されます。特定のメタ値を設定したり、通知を送信したり、他のサービスにpingを送信したりするために使用できます。GitHubリポジトリで例を見る

wpa0_user_created

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

フィルター

WordPress のフィルターも、処理中に特定の時点でカスタムコードを実行しますが、常に渡されたのと同じタイプの変更された値を返します。フィルターの詳細については、WordPressプラグインハンドブック: wordpress.orgのフィルターをお読みください。GitHubリポジトリの例

auth0_create_user_data

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

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

  • $userinfoは、Auth0ユーザープロファイルです。

このフィルターは常に、コアのwp_insert_user()関数に渡されるデータの配列を返します。GitHubリポジトリで例を見る

auth0_get_wp_user

このフィルターは、プラグインがログインする関連ユーザーを見つけた後に呼び出されます(auth0 user_idに基づく)。このフィルターは、カスタム一致ルール(常にメールで一致させるなど)でデフォルトの動作を上書きするために使用されます。GitHubリポジトリで例を見る

フィルターがnullを返す場合は、メールで検索します。詳細については、WordPressとの統合をお読みください。

auth0_verify_email_page

このフィルターはWP_Auth0_Email_Verificationで実行され、ログインしているユーザーがサイトにアクセスする前にメールを確認する必要がある場合にレンダリングされるHTMLを変更します。このHTMLはwp_die()に渡され、表示される前に変更されることに注意してください(詳細については、コアの_default_wp_die_handler()定義を参照してください)。GitHubリポジトリで例を見る

auth0_get_auto_login_connection

このフィルターはWP_Auth0_LoginManagerで使用され、自動ログインプロセスに使用される接続を変更します。wp-adminの設定が取得され、このフィルターに渡されます。GitHubリポジトリで例を見る

wp_auth0_get_option

このフィルターは、オプション取得関数とメソッドによって出力値を変更するために使用されます。GitHubリポジトリで例を見る

auth0_migration_ws_authenticated

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

wpa0_should_create_user

このフィルターは、ユーザーを作成するかどうかを決定するときにWP_Auth0_Usersで使用されます。渡される初期値はTRUEです。何らかの理由でFALSEが返された場合、登録は拒否され、登録ユーザーにはエラーメッセージ(WP_Auth0_UsersRepo::create())が表示されます。GitHubリポジトリで例を見る

auth0_login_css

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

auth0_login_form_tpl

Auth0ログインフォームに使用されるテンプレートをフィルターします。これは、wp-content/plugins/auth0/templates/auth0-login-form.phpにあるものを置き換えるHTMLを含むファイルへのパスを返します。標準のロック開始JSは、ログインフォームをインスタンス化するためにauth0-login-formのID属性を検索するため、これが存在することを確認するか、wp-content/plugins/auth0/assets/js/lock-init.jsファイルを独自のものに置き換えます。GitHubリポジトリで例を見ることができます。

auth0_settings_fields

このフィルターは、既存のフォームフィールドを変更したり、新しいフィールドを追加したりするために使用されます。これにより、変更または追加が反映された変更された$options配列が返されます。以下に示すように、新しいフィールドにはフィールドコールバックが必要です。GitHubリポジトリで例を見ることができます。

auth0_auth_scope

このフィルターを使用すると、開発者はログイン時に要求されたスコープを追加または変更できます。これを使用して、カスタムクレームを追加したり、更新トークンを要求したりできます。GitHubリポジトリで例を見ることができます。

このフィルターを使用して、nonce検証に使用されるCookie名を変更します。例については、以下のauth0_state_cookie_nameフィルターを参照してください。GitHubリポジトリで例を見ることができます。

このフィルターを使用して、状態パラメーター値に使用されるCookie名を変更します。これにより、プレフィックスまたはサフィックスを追加したり、文字列全体を置き換えたりできます。GitHubリポジトリで例を見る状態パラメーターの詳細については、OAuth 2.0状態パラメーターを使って攻撃を防ぎ、ユーザーをリダイレクトするをお読みください。変更を加える場合は、必ず有効な文字を使用してください。

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

Set-Cookie HTTP応答ヘッダーの詳細については、MDN Web DocsのSet-Cookieを参照してください。

auth0_settings_constant_prefix

このフィルターを使用して、プラグイン設定をオーバーライドするために使用される定数のプレフィックスを変更します。このフィルターは、Auth0プラグインが読み込まれる前に実行する必要があるため、MUプラグインに配置する必要があることに注意してください。GitHubリポジトリで例を見ることができます。MUプラグインの詳細については、wordpress.orgのMust Use Pluginsをお読みください。

auth0_authorize_url_params

このフィルターを使用すると、開発者は必要に応じて/authorizeエンドポイントパラメーターを調整できます。この関数は、URLパラメーターの辞書型配列を返す必要があります。これらのパラメーターの使用方法の詳細については、認証APIエクスプローラー: ログインを参照してください。GitHubリポジトリで例を見ることができます。

auth0_authorize_url

このフィルターを使用すると、開発者は使用前に完全な/authorize URLを調整できます。この関数は、有効なURL文字列を返す必要があります。このURLの使用方法の詳細については、認証APIエクスプローラー: ログインを参照してください。GitHubリポジトリで例を見ることができます。

auth0_die_on_login_output

このフィルターを使用すると、ログイン中にエラーが発生した場合に、wp_die()に渡されるHTMLコンテンツを変更または置換できます。このフィルターは、メールの内容の検証には影響しません(auth0_verify_email_pageを参照)。GitHubリポジトリで例を見ることができます。

auth0_coo_auth0js_url

このフィルターを使用すると、COOURLフォールバックページを読み込むときに、Auth0.jsのデフォルトCDNをオーバーライドできます。

auth0_slo_return_to

このフィルターを使用すると、Auth0からログアウトするときにデフォルトのreturnTo URLをオーバーライドできます。GitHubリポジトリで例を見ることができます。

auth0_logout_url

このフィルターを使用すると、 Auth0ログアウトURLをオーバーライドできます。この使用方法の詳細については、ログアウトを参照してください。GitHubリポジトリで例を見ることができます。

auth0_use_management_api_for_userinfo

このフィルターは、暗黙的ログインフローを使用していない場合に、Management APIから取得したユーザープロファイルデータを取得するかどうかを決定します。APIを使用する場合はブール値true(デフォルト)を返し、IDトークンを使用する場合はfalseを返します。GitHubリポジトリで例を見ることができます。

auth0_lock_options

このフィルターを使用すると、Features(機能) > Universal Login Page(ユニバーサルログインページ)がオフになっている場合に、ショートコード、ウィジェット、および wp-login.php ページで使用される埋め込みロック ログイン フォームのオプションを変更できます。GitHubリポジトリで例を見ることができます。

auth0_jwt_leeway

このフィルターを使用すると、IDトークンの検証に使用される余裕時間を調整でき、秒数を整数として返す必要があります。GitHubリポジトリで例を見ることができます。

auth0_jwt_max_age

このフィルターを使用すると、authorizeURLで送信されるmax_age URLパラメーターを調整できます。GitHubリポジトリで例を見ることができます。

auth0_authorize_state

このフィルターを使用すると、エンコードされてログインに使用される前に状態データをフィルターできます。このデータは、ログインが成功した後に検証され、そのまま提供されます。GitHubリポジトリで例を見ることができます。

ユースケース

GitHubリポジトリで、フィルターを使用したアクションの使用例を見ることができます

もっと詳しく