以下の手順を始める前に、Auth0 アカウントにログインしている必要があります。まだアカウントをお持ちでない場合は、作成してください。
Auth0 の設定
アプリケーションの設定
- WordPress サイト用のアプリケーションを作成します。
- Setup Wizard のトラブルシューティングを行っている場合は、Auth0 Dashboard > アプリケーション > アプリケーション に移動し、WordPress サイト名に似た名前のアプリケーションを探してください。見つからない場合は、Wizard によってアプリケーションが作成されていないことを意味します。WordPress で Setup Wizard を再起動するか、すぐ下の手順に従ってアプリケーションを手動で作成してください。
- 手動で設定する場合は、Auth0 Dashboard > アプリケーション > アプリケーション に移動し、Create を選択します。アプリケーション名を入力し、従来型Webアプリケーション を選択してから、Create を選択します。
- アプリケーションの 設定 view を選択します。Auth0 に接続するために wp-admin > Auth0 > 設定 で使用する Domain、Client ID、Client Secret が表示されます。
- アプリケーションの種類 は Regular Web Application に設定し、Token Endpoint Authentication Method は Post に設定する必要があります
- Allowed Callback URLs までスクロールし、WordPress サイトの URL の末尾に
?auth0=1を付けて入力します。
- Allowed Web Origins フィールドに、WordPress サイトの WordPress Address (URL) (サイトが公開される URL) と、異なる場合は Site Address (URL) (wp-admin が提供される URL) を入力します。これらの値はどちらも、WordPress サイトの一般設定画面で確認できます。
- Allowed Logout URLs フィールドに、WordPress サイトの login URL を入力します
- Allowed Origins (CORS) フィールドは空欄のままにします (上記の Allowed Callback URLs の値が使用されます)
上記のすべての URL フィールドでは、サイトのプロトコル (http または https) を一致させ、wp-admin > Settings > General > WordPress Address (URL) にあるホーム URL をベースとして使用してください。
- 下にスクロールして Show Advanced Settings を選択し、OAuth view を選択して、JsonWebToken Signature Algorithm が RS256 に設定されていることを確認します。後でこれを変更する必要がある場合は、ここだけでなく wp-admin 側でも変更する必要があります (以下の Settings > Basic を参照) 。
- OIDC Conformant をオンにします。
- Grant Types タブをクリックし、少なくとも 認可コード と Client Credentials を選択します。
- 変更を保存 をクリックします。
user_metadata と app_metadata を含む) を取得できるほか、ユーザーのメールアドレスやパスワードの変更、確認済みメールアドレスが必要な場合のメール確認の再送も可能になります。
- アプリケーションでクライアントクレデンシャルグラントが許可されていることを確認します (上のセクションのステップ 10) 。
- Auth0 Dashboard > アプリケーション > 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 を選択して手順に従ってください。
- アプリケーション ビューを選択し、上で作成したアプリケーションを有効化します。
エンタープライズ接続の設定
WordPress の設定
- Auth0 Dashboard > アプリケーション > アプリケーション に移動し、先ほど作成したアプリケーションを選択します。
- 新しいタブまたはウィンドウで WordPress サイトの wp-admin にログインし、wp-admin > Auth0 > 設定 に移動します。
- 各フィールドの横にある Copy to Clipboard ボタンを使って、Auth0 アプリケーションのページから Domain、Client ID、Client Secret を WordPress の設定にコピーします。
- 下にスクロールして、変更を保存 を選択します。
PHP 定数による設定の保存
wp-config.php ファイル内、または must-use plugin で行ってください。詳しくは Must Use Plugins on wordpress.org をご覧ください。定数をテーマの 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: Auth0 Dashboard のアプリケーション設定からコピーした Domain です。オプション名は
domainです。 -
: 設定されている場合は、テナントのカスタムドメインです。詳しくは、カスタムドメイン を参照してください。オプション名は
custom_domainです。 -
: Auth0 Dashboard のアプリケーション設定からコピーした Client ID です。オプション名は
client_idです。 -
Client Secret: Auth0 Dashboard のアプリケーション設定からコピーした Client Secret です。オプション名は
client_secretです。 -
署名アルゴリズム Advanced のアプリケーション設定にある タブで設定する、トークンの署名に使用されるアルゴリズムです。デフォルトは RS256 です。オプション名は
client_signing_algorithmです。 -
JWKS キャッシュ時間 (分) : RS256 JWT 署名アルゴリズムを使用する場合に、JWKS 情報を保存する期間です。オプション名は
cache_expirationです。 -
wp-login.php 上の元のログインフォーム: WordPress のコアログインページへのアクセスを許可またはブロックするための方法を設定します。オプション名は
wordpress_login_enabledです。ログインページコードのオプション名はwle_codeです。- Never では、WordPress のコアログインフォームは表示されません。
- Auth0 フォームの下のリンク経由 では、
wp-login.php上の Auth0 の埋め込みフォームのすぐ下に、WordPress のコアログインフォームへのリンクが表示されます。ログイン URL に?wleを追加すると、ログインページに直接アクセスすることもできます。 - “wle” クエリパラメータが存在する場合 では、ログイン URL に
?wleを追加すると、ログインページに直接アクセスできます。これにより Universal Login ページ へのリダイレクトを回避できます。 - “wle” クエリパラメータに特定のコードが含まれる場合 では、ログイン URL に
?wle=とコードを追加すると、ログインページに直接アクセスできます。コードは自動的に生成され、この設定のコントロールの下に表示されます。これにより Universal Login ページ へのリダイレクトを回避できます。
- サインアップを許可: ユーザーの Signup は、WordPress の「だれでもユーザー登録ができるようにする」オプションが有効な場合にのみ利用できます。この設定は 設定 > 一般 > メンバーシップ にあります.
機能
- ページ:
wp-login.phpページを Universal Login ページにリダイレクトし、このアプリケーションで有効なすべての接続を使用した (SSO) 認証を行います。オプション名はauto_loginです。 - 自動ログイン方法: Universal Login Page が有効な場合に、認証に使用する 1 つの有効な接続を指定します。Universal Login Page に有効な接続をすべて表示するには、ここを空欄のままにします。オプション名は
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 です。カスタム Lock JS URL を使用 がオフの場合、このフィールドは自動的に非表示になります。オプション名は
cdn_urlです。 -
表示する接続: ユーザーにログインを許可したい各をここに一覧表示してください。空欄のままにすると、有効になっているすべてのプロバイダーが許可されます。 (詳しくは、Lock UI Customizationをご覧ください。) オプション名は
lock_connectionsです。パスワードレスログインを有効にしている場合は、許可するすべてのソーシャルアイデンティティプロバイダーをここに一覧表示する必要があります。詳しくは、GitHub repository の .social(options, callback)をご覧ください。
Advanced
-
検証済みメールアドレスを必須にする: これを設定すると、ユーザーは検証済みのメールアドレスがないとログインできなくなります。メールアドレスやユーザープロファイルデータ内の
email_verifiedフラグを提供しない接続では、正しく動作しない場合があります。オプション名はrequires_verified_emailです。 -
スキップするストラテジー: [Require 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 で手動設定する必要があります。移行プロセスの詳細については、User Migration in Login by Auth0 WordPress Plugin を参照してください。Generate New Migration Token ボタンを使用すると、保存済みのトークンを新しいものに置き換えられます。データベース接続の設定ページを Custom Database タブで開いた状態にして、両方のスクリプト内の既存トークンを新しいものに置き換えてください。オプション名は
migration_wsです。移行トークンのオプション名はmigration_tokenです。 -
Migration IPs AllowList: 一覧に含まれる IP からのリクエストのみ、移行 Web サービスへのアクセスが許可されます。オプション名は
migration_ips_filterです。 -
有効なプロキシ IP: ログインおよび移行 Web サービスの IP チェックを有効にするには、プロキシまたはロードバランサーの IP アドレスを指定します。オプション名は
valid_proxy_ipです。 -
Auth0 サーバーの Domain: Auth0 のドメインです。Setup Wizard がアカウント情報を取得するために使用します。オプション名は
auth0_server_domainです。