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

Auth0 の設定

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

アプリケーションの設定

  1. WordPress サイト用のアプリケーションを作成します。
  • セットアップウィザードの問題を調査している場合は、Auth0 Dashboard > Applications > Applications に移動し、WordPress サイト名に近い名前のアプリケーションを探します。見つからない場合は、ウィザードによってアプリケーションが作成されていないことを意味します。WordPress でセットアップウィザードを再起動するか、すぐ下の手順に従ってアプリケーションを手動で作成してください。
  • 手動で設定する場合は、Auth0 Dashboard > Applications > Applications に移動し、Create を選択します。アプリケーションの名前を入力し、Regular Web Applications を選択してから、Create を選択します。
  1. アプリケーションの Settings 画面を開きます。ここで、Auth0 への接続に使用するドメイン、クライアントID、クライアントシークレットを確認できます。これらは wp-admin > Auth0 > Settings で使用します。
  2. Application TypeRegular Web Application に、Token Endpoint Authentication MethodPost に設定する必要があります
  3. Allowed Callback URLs までスクロールし、WordPress サイトの URL の末尾に ?auth0=1 を追加して指定します。
ここで指定する Callback URL はキャッシュしないでください。キャッシュされると、ログイン時に「Invalid state」エラーが発生することがあります。詳細については、Troubleshoot WordPress Plugin Invalid State Errors を参照してください。
  1. WordPress サイトの WordPress Address (URL) (WordPress サイトが公開されている URL) と、異なる場合は Site Address (URL) (wp-admin を配信している URL) を Allowed Web Origins フィールドに入力します。どちらの値も、WordPress サイトの一般設定画面で確認できます。
  2. WordPress サイトのログイン URL を Allowed Logout URLs フィールドに入力します
  3. Allowed Origins (CORS) フィールドは空欄のままにします (上記の Allowed Callback URLs の値が使用されます)
上記のすべての URL フィールドでは、サイトのプロトコル (http または https) を正しく合わせ、wp-admin > Settings > General > WordPress Address (URL) で確認できる home URL をベースとして使用してください。
  1. 下にスクロールして Show Advanced Settings を選択し、OAuth 画面を開いて、JsonWebToken Signature Algorithm が RS256 に設定されていることを確認します。後でこれを変更する必要がある場合は、ここだけでなく wp-admin 側でも変更してください (下記の Settings > Basic を参照) 。
  2. OIDC Conformant をオンにします。
  3. Grant Types タブをクリックし、少なくとも Authorization CodeClient Credentials を選択します。
  4. Save Changes をクリックします。

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

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

データベース接続の設定

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

ソーシャル接続の設定

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

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

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

WordPress の設定

  1. Auth0 Dashboard > Applications > Applications に移動し、前の手順で作成したアプリケーションを選択します。
  2. 新しいタブまたはウィンドウで WordPress サイトの wp-admin にログインし、wp-admin > Auth0 > Settings に移動します。
  3. Auth0 のアプリケーションページで、各フィールドの横にある Copy to Clipboard ボタンを使って ドメインクライアントIDクライアントシークレット を WordPress の設定にコピーします。
  4. 下にスクロールして Save Changes を選択します。

PHP 定数での設定保存

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

埋め込み

ここでのオプションは 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 です。このフィールドは、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 です。

詳細