Skip to main content
Login by Auth0 は、プラグインの Setup Wizard を使用して設定することも、設定プロセスをより細かく制御するために手動で設定することもできます。詳しくは、Install Login by Auth0 をご覧ください。以下の手順は、Setup Wizard が完了しなかった場合や、ログインの問題をトラブルシューティングする際にも使用できます。
以下の手順を始める前に、Auth0 アカウントにログインしている必要があります。まだアカウントをお持ちでない場合は、作成してください

Auth0 の設定

Auth0 テナントは、WordPress サイトからのログインリクエストを受け付け、少なくとも 1 つの接続 (Auth0 のデータベース、ソーシャル接続、または企業ディレクトリ) からユーザーのアイデンティティ情報を取得できるように設定する必要があります。テナントの詳細については、テナントを作成する を参照してください。接続の詳細については、IDプロバイダー を参照してください。

アプリケーションの設定

  1. WordPress サイト用のアプリケーションを作成します。
  • Setup Wizard のトラブルシューティングを行っている場合は、Auth0 Dashboard > アプリケーション > アプリケーション に移動し、WordPress サイト名に似た名前のアプリケーションを探してください。見つからない場合は、Wizard によってアプリケーションが作成されていないことを意味します。WordPress で Setup Wizard を再起動するか、すぐ下の手順に従ってアプリケーションを手動で作成してください。
  • 手動で設定する場合は、Auth0 Dashboard > アプリケーション > アプリケーション に移動し、Create を選択します。アプリケーション名を入力し、従来型Webアプリケーション を選択してから、Create を選択します。
  1. アプリケーションの 設定 view を選択します。Auth0 に接続するために wp-admin > Auth0 > 設定 で使用する Domain、Client ID、Client Secret が表示されます。
  2. アプリケーションの種類Regular Web Application に設定し、Token Endpoint Authentication MethodPost に設定する必要があります
  3. Allowed Callback URLs までスクロールし、WordPress サイトの URL の末尾に ?auth0=1 を付けて入力します。
ここで指定する Callback URL は絶対にキャッシュしないでください。キャッシュされると、login 時に “Invalid state” エラーが発生することがあります。詳しくは、WordPress Plugin の Invalid State Errors のトラブルシューティング を参照してください。
  1. Allowed Web Origins フィールドに、WordPress サイトの WordPress Address (URL) (サイトが公開される URL) と、異なる場合は Site Address (URL) (wp-admin が提供される URL) を入力します。これらの値はどちらも、WordPress サイトの一般設定画面で確認できます。
  2. Allowed Logout URLs フィールドに、WordPress サイトの login URL を入力します
  3. Allowed Origins (CORS) フィールドは空欄のままにします (上記の Allowed Callback URLs の値が使用されます)
上記のすべての URL フィールドでは、サイトのプロトコル (http または https) を一致させ、wp-admin > Settings > General > WordPress Address (URL) にあるホーム URL をベースとして使用してください。
  1. 下にスクロールして Show Advanced Settings を選択し、OAuth view を選択して、JsonWebToken Signature Algorithm が RS256 に設定されていることを確認します。後でこれを変更する必要がある場合は、ここだけでなく wp-admin 側でも変更する必要があります (以下の Settings > Basic を参照) 。
  2. OIDC Conformant をオンにします。
  3. Grant Types タブをクリックし、少なくとも 認可コードClient Credentials を選択します。
  4. 変更を保存 をクリックします。

Management API のためにアプリケーションを認可する

WordPress サイトが Auth0 テナントに代わって特定の操作を実行するには、上で作成したアプリケーションに へのアクセスを認可する必要があります。必須ではありませんが、これを有効にすると、ログイン時に完全なユーザーデータ (user_metadataapp_metadata を含む) を取得できるほか、ユーザーのメールアドレスやパスワードの変更、確認済みメールアドレスが必要な場合のメール確認の再送も可能になります。
  1. アプリケーションでクライアントクレデンシャルグラントが許可されていることを確認します (上のセクションのステップ 10) 。
  2. Auth0 Dashboard > アプリケーション > APIs に移動します。
  3. Auth0 Management API を選択し、次に Machine to Machine Applications ビューを選択します。
  4. WordPress アプリケーションを見つけ、アクセスを許可するには Unauthorized を選択します。
  5. 表示されたパネルで、read:usersupdate:users のスコープだけを選択し、Update を選択します (Filter scopes フィールドを使って検索できます) 。

データベース接続の設定

Database 接続を使用すると、Auth0 に保存されたユーザーレコードを使って、ユーザー名とパスワードによるログインを有効にできます。この種類の接続は必須ではないため、、ソーシャルログイン、またはエンタープライズログインのみを使用する場合は省略できます。
  1. 設定時にウィザードを使用した場合は、Auth0 Dashboard > Authentication > Database に移動し、上記で設定したアプリケーションと似た名前の接続を探します。それ以外の場合は、新しい接続を作成するか、既存の接続を使用するか、デフォルトの Username-Password-Authentication を使用できます。設定を表示するには既存の接続名を選択するか、Create DB Connection を選択して手順に従ってください。
  2. アプリケーション ビューを選択し、上で作成したアプリケーションを有効化します。

Social 接続 の設定

このログイン方法の有効化と設定の方法については、ソーシャル ID プロバイダーを参照してください。

エンタープライズ接続の設定

このログイン方法を有効化して設定する方法については、エンタープライズアイデンティティプロバイダーをご覧ください。

WordPress の設定

  1. Auth0 Dashboard > アプリケーション > アプリケーション に移動し、先ほど作成したアプリケーションを選択します。
  2. 新しいタブまたはウィンドウで WordPress サイトの wp-admin にログインし、wp-admin > Auth0 > 設定 に移動します。
  3. 各フィールドの横にある Copy to Clipboard ボタンを使って、Auth0 アプリケーションのページから DomainClient IDClient Secret を WordPress の設定にコピーします。
  4. 下にスクロールして、変更を保存 を選択します。

PHP 定数による設定の保存

プラグインの設定は、データベースに保存することも (デフォルト) 、特定の名前の PHP 定数を使って設定することもできます。これにより、、API トークン、移行トークンのような機密データを、より安全に保存できます (それらを定義しているファイル自体が安全に保管されていることが前提です。詳しくは Hardening WordPress on wordpress.org をご覧ください) 。 この定数は、プラグインが読み込まれる前に必ず定義しておく必要があります。そうしないと使用されません。これは 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 です。

埋め込み

ここでのオプションは Universal Login ページ には影響しません (カスタマイズオプションについては、Auth0 Universal Loginをご覧ください) 。
  • パスワードレスログイン: このオプションを有効にすると、埋め込み 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 です。

詳しくはこちら