以下の手順を始める前に、Auth0 アカウントにログインしておく必要があります。まだアカウントをお持ちでない場合は、作成してください。
Auth0 の設定
アプリケーションの設定
- WordPress サイト用のアプリケーションを作成します。
- セットアップウィザードの問題を調査している場合は、Auth0 Dashboard > Applications > Applications に移動し、WordPress サイト名に近い名前のアプリケーションを探します。見つからない場合は、ウィザードによってアプリケーションが作成されていないことを意味します。WordPress でセットアップウィザードを再起動するか、すぐ下の手順に従ってアプリケーションを手動で作成してください。
- 手動で設定する場合は、Auth0 Dashboard > Applications > Applications に移動し、Create を選択します。アプリケーションの名前を入力し、Regular Web Applications を選択してから、Create を選択します。
- アプリケーションの Settings 画面を開きます。ここで、Auth0 への接続に使用するドメイン、クライアントID、クライアントシークレットを確認できます。これらは wp-admin > Auth0 > Settings で使用します。
- Application Type は Regular Web Application に、Token Endpoint Authentication Method は Post に設定する必要があります
- Allowed Callback URLs までスクロールし、WordPress サイトの URL の末尾に
?auth0=1を追加して指定します。
- WordPress サイトの WordPress Address (URL) (WordPress サイトが公開されている URL) と、異なる場合は Site Address (URL) (wp-admin を配信している URL) を Allowed Web Origins フィールドに入力します。どちらの値も、WordPress サイトの一般設定画面で確認できます。
- WordPress サイトのログイン URL を Allowed Logout URLs フィールドに入力します
- Allowed Origins (CORS) フィールドは空欄のままにします (上記の Allowed Callback URLs の値が使用されます)
上記のすべての URL フィールドでは、サイトのプロトコル (http または https) を正しく合わせ、wp-admin > Settings > General > WordPress Address (URL) で確認できる home URL をベースとして使用してください。
- 下にスクロールして Show Advanced Settings を選択し、OAuth 画面を開いて、JsonWebToken Signature Algorithm が RS256 に設定されていることを確認します。後でこれを変更する必要がある場合は、ここだけでなく wp-admin 側でも変更してください (下記の Settings > Basic を参照) 。
- OIDC Conformant をオンにします。
- Grant Types タブをクリックし、少なくとも Authorization Code と Client Credentials を選択します。
- Save Changes をクリックします。
user_metadata と app_metadata を含む) を取得したり、ユーザーのメールアドレスやパスワードを変更したり、確認済みのメールアドレスが必要な場合に確認メールを再送したりできるようになります。
- アプリケーションで Client Credentials grant が許可されていることを確認します (上のセクションのステップ 10) 。
- Auth0 Dashboard > Applications > APIs に移動します。
- Auth0 Management API を選択し、Machine to Machine Applications ビューを開きます。
- WordPress アプリケーションを見つけ、アクセスを許可するために Unauthorized を選択します。
- 表示されたパネルで、
read:usersとupdate:usersのスコープのみを選択し、Update を選択します (Filter scopes フィールドを使って検索できます) 。
データベース接続の設定
- セットアップ中にウィザードを使用した場合は、Auth0 Dashboard > Authentication > Database に移動し、上記で設定したアプリケーションと似た名前の接続を探します。そうでない場合は、新しい接続を作成するか、既存の接続を使用するか、デフォルトの Username-Password-Authentication を使用できます。既存の接続名を選択して設定を表示するか、Create DB Connection を選択して手順に従います。
- Applications ビューを選択し、上記で作成したアプリケーションを有効にします。
エンタープライズ接続の設定
WordPress の設定
- Auth0 Dashboard > Applications > Applications に移動し、前の手順で作成したアプリケーションを選択します。
- 新しいタブまたはウィンドウで WordPress サイトの wp-admin にログインし、wp-admin > Auth0 > Settings に移動します。
- Auth0 のアプリケーションページで、各フィールドの横にある Copy to Clipboard ボタンを使って ドメイン、クライアントID、クライアントシークレット を WordPress の設定にコピーします。
- 下にスクロールして Save Changes を選択します。
PHP 定数での設定保存
wp-config.php ファイルまたは must-use プラグインで行ってください。詳細は wordpress.org の Must Use Plugins を参照してください。定数をテーマの functions.php や、Auth0 の後に読み込まれるプラグインで定義した場合、その値は無視されます。
PHP 定数は次のように定義します。
既定の定数名は、AUTH0_ENV_ に続けて、上書きするオプション名をすべて大文字で付けたものです (プレフィックスは auth0_settings_constant_prefix フィルターで変更できます。詳細は Extend Login by Auth0 WordPress Plugin を参照してください) 。すべてのプラグインオプションを上書きでき、それらのキーは WP_Auth0_Options::defaults() メソッドで確認できます。
注: migration_token の値は、ユーザー移行を有効にするとプラグインによって生成されます。管理画面にすでに値がある場合は、必ず同じ値を定数に設定してください。その値を変更する必要がある場合は、 で使用しているデータベース接続のカスタムスクリプトでも変更する必要があります。
設定フィールドは、この新しい値に応じて表示内容が変わり、参照用に使用中の定数が表示されます。この値はプラグイン全体で自動的に使用されます。
重要: 定数値を設定したあとに設定ページを保存すると、定数で設定された値が検証され (ただし変更はされません) 、データベースに保存されるオプション配列から削除されます。この機能を試しているだけの場合は、その値を削除してよい状態になるまで WordPress の管理ページで設定を保存しないでください。
WordPress マルチサイトネットワーク内のすべてのサイトで同じ定数値が使用されるため、単一のアプリケーションとデータベース接続を使うネットワークを簡単にセットアップできます。
プラグインの設定
基本
-
ドメイン: ダッシュボードのアプリケーション設定からコピーしたドメインです。オプション名は
domainです。 -
: 設定されている場合に使用する、テナントのカスタムドメインです。詳しくは、Custom Domains を参照してください。オプション名は
custom_domainです。 -
: ダッシュボードのアプリケーション設定からコピーしたクライアントIDです。オプション名は
client_idです。 -
クライアントシークレット: ダッシュボードのアプリケーション設定からコピーしたクライアントシークレットです。オプション名は
client_secretです。 -
署名アルゴリズム 詳細アプリケーション設定の タブで設定する、トークンの署名に使用されるアルゴリズムです。デフォルトは RS256 です。オプション名は
client_signing_algorithmです。 -
JWKS キャッシュ時間 (分) : RS256 JWT 署名アルゴリズムを使用する場合に、JWKS 情報を保持する期間です。オプション名は
cache_expirationです。 -
wp-login.php 上の元のログインフォーム: WordPress の標準ログインページへのアクセスを許可またはブロックする方法を設定します。オプション名は
wordpress_login_enabledです。ログインページコードのオプション名はwle_codeです。- なし では、WordPress の標準ログインフォームは表示されません。
- Auth0 フォームの下のリンク経由 では、
wp-login.php上で Auth0 の埋め込みフォームのすぐ下に、WordPress 標準のログインフォームへのリンクが表示されます。ログイン URL に?wleを追加して、ログインページに直接アクセスすることもできます。 - “wle” クエリパラメーターが存在する場合 では、ログイン URL に
?wleを追加すると、ログインページに直接アクセスできます。これにより、Universal Login ページ へのリダイレクトは回避されます。 - “wle” クエリパラメーターに特定のコードが含まれる場合 では、ログイン URL に
?wle=とコードを追加すると、ログインページに直接アクセスできます。コードは自動的に生成され、この設定のコントロールの下に表示されます。これにより、Universal Login ページ へのリダイレクトは回避されます。
- サインアップを許可: ユーザー登録は、WordPress の Anyone can register オプションが有効な場合にのみ利用できます。この設定は Settings > General > Membership にあります。
機能
- ページ: このアプリケーションで有効なすべての接続を使用した (SSO) 認証のために、
wp-login.phpページを Universal Login ページにリダイレクトします。オプション名はauto_loginです。 - 自動ログイン方式: Universal Login ページが有効な場合に認証で使用する、単一の有効な接続です。Universal Login ページに有効なすべての接続を表示するには、これを空欄のままにします。オプション名は
auto_login_methodです。 - Auth0 ログアウト: WordPress からログアウトする際に Auth0 からもログアウトするには、このオプションを有効にします。オプション名は
singlelogoutです。 - WordPress アバターを上書き: WordPress で Auth0 のアバターを使用するよう強制します。オプション名は
override_wp_avatarsです。
埋め込み
-
パスワードレスログイン: このオプションを有効にすると、埋め込みの Auth0 ログインフォームすべてでパスワードレスログインが有効になります。パスワードレス接続は Auth0 Dashboard で管理されます。この機能を動作させるには、このアプリケーションで少なくとも 1 つがアクティブかつ有効になっている必要があります。オプション名は
passwordless_enabledです。 -
アイコン URL: 埋め込みの Auth0 ログインフォームの上部に表示されるアイコンを設定します。オプション名は
icon_urlです。 -
フォームタイトル: 埋め込みの Auth0 ログインフォームのタイトルを設定します。オプション名は
form_titleです。 -
Gravatar 統合を有効にする: ユーザーがメールアドレスを入力すると、関連付けられた Gravatar の画像が埋め込みの Auth0 ログインフォームに表示されます。オプション名は
gravatarです。 -
ログイン名のスタイル: Email を選択すると、ユーザーはログイン時にメールアドレスを入力する必要があります。ユーザー名を有効なメールアドレスに限定したくない場合は、これを Username に設定します。オプション名は
username_styleです。オプション名はclient_secret_b64_encodedです。 -
プライマリカラー: この設定の詳細については、Lock Configuration Options を参照してください。オプション名は
primary_colorです。 -
追加設定: Lock の呼び出し時に使用するオプションを含む、有効な JSON オブジェクトです。これにより、上で設定した他のすべてのオプションが上書きされます。使用可能なオプションの一覧については、Lock: User configurable options (例:
{"disableResetAction": true }) を参照してください。オプション名はextra_confです。 -
カスタム Lock JS URL を使用する: オフの場合、WordPress は最新のテスト済みバージョンの Lock (Auth0 埋め込みログインフォーム) を自動的に使用します。オンの場合、管理者は使用するカスタム Lock URL を指定できます。オプション名は
custom_cdn_urlです。 -
カスタム Lock JS URL: Lock のバージョンを指す有効な URL です。このフィールドは、Use Custom Lock JS URL がオフの場合、自動的に非表示になります。オプション名は
cdn_urlです。 -
表示する接続: ユーザーにログインを許可する をそれぞれここに一覧表示します。空欄のままにすると、有効になっているすべてのプロバイダーが許可されます。 (詳細については、Lock UI Customization を参照してください。) オプション名は
lock_connectionsです。パスワードレスログインを有効にしている場合は、許可するすべてのソーシャル IDプロバイダーをここに一覧表示する必要があります。詳細については、GitHub リポジトリの .social(options, callback) を参照してください。
高度な設定
-
確認済みメールアドレスを必須にする: 設定すると、ユーザーがログインするには確認済みのメールアドレスを持っている必要があります。接続によっては、メールアドレスまたはユーザープロファイルデータ内の
email_verifiedフラグが提供されないため、正しく動作しない場合があります。オプション名はrequires_verified_emailです。 -
戦略をスキップ: [確認済みメールアドレスを必須にする] が有効な場合に、この設定が表示されます。このフィールドには、ログイン時およびアカウント関連付け時に確認済みメールアドレスの要件をスキップする戦略名を指定できます。これは
email_verifiedフラグを提供しない戦略にのみ使用してください。 -
ユーザーセッションを記憶する: デフォルトでは、ユーザーセッションは 2 日間維持されます。この設定を有効にすると、ユーザーセッションを 14 日間維持します。オプション名は
remember_users_sessionです。- ユーザーセッションを適切に維持するには、この設定をテナントの Inactivity Timeoutdocs/manage-users/sessions/session-lifetime-limits 設定以下にする必要があります。
-
ログインリダイレクト URL: 設定すると、ログイン後にユーザーを指定した URL にリダイレクトします。これは
[auth0]ショートコードによるログインには影響しません。オプション名はdefault_login_redirectionです。ショートコードのリダイレクトを変更するには、次のようにredirect_to属性を追加します。[auth0 redirect_to="http://yourdomain.com/redirect-here"] -
HTTPS コールバックを強制する: サイトで HTTPS を利用できるものの、強制していない場合はこのオプションを有効にします。これにより、ホーム URL が HTTPS に設定されていない場合でも、Auth0 コールバックで HTTPS が強制されます。オプション名は
force_https_callbackです。 -
自動プロビジョニング: 新規登録が許可されていない場合でも、Auth0 からの新しいユーザーを WordPress データベースに保存しますか。この設定を有効にすると、Auth0 経由でログインしたときに存在しない WordPress ユーザーが作成されます (たとえば、ユーザーが Auth0 Dashboard で作成された場合) 。オプション名は
auto_provisioningです。WordPress で登録が許可されている場合は、この設定に関係なく新しいユーザーが作成されます。 -
ユーザー移行: このオプションを有効にすると、Auth0 の移行 Web サービスが公開されます。ただし、接続は Auth0 Dashboard で手動設定する必要があります。移行プロセスの詳細については、Login by Auth0 WordPress Plugin でのユーザー移行 を参照してください。Generate New Migration Token ボタンを使用すると、保存されているトークンを新しいものに置き換えることができます。データベース接続の設定ページを Custom Database タブで開いた状態にして、両方のスクリプト内の既存のトークンを新しいものに置き換えてください。オプション名は
migration_wsです。移行トークンのオプション名はmigration_tokenです。 -
移行 IP 許可リスト: リストに含まれる IP からのリクエストのみ、移行 Web サービスへのアクセスが許可されます。オプション名は
migration_ips_filterです。 -
有効なプロキシ IP: ログインおよび移行 Web サービスの IP チェックを有効にするには、プロキシまたはロードバランサーの IP アドレスを指定します。オプション名は
valid_proxy_ipです。 -
Auth0 サーバードメイン: Auth0 のドメインです。セットアップウィザードがアカウント情報を取得するために使用します。オプション名は
auth0_server_domainです。