Skip to main content
以下は、よくあるトラブルシューティングに関する質問です。下記の項目で問題が解決しない場合は、次の方法もご検討ください。

「Invalid state」というエラーメッセージが表示されてログインできない

state の検証は、version 3.6.0 で追加されたセキュリティ機能です。このエラーメッセージは通常、キャッシュされた callback URL が原因で発生します (キャッシュしてはいけない callback URL については、アプリケーション設定を参照してください) 。詳しくは、WordPress Plugin の Invalid State エラーのトラブルシューティング をご覧ください。

カスタムデータベースの使用時に、ログインやメールアドレス/パスワードの変更で問題が発生する

考えられる解決策については、Login by Auth0 WordPress Plugin のユーザー移行をお読みください。

ログインできず、“Invalid ID token” または “Expired ID token” というエラーメッセージが表示される

これは通常、サーバーの時刻設定が正しくないことが原因です。エラーメッセージに “used too early” と含まれている場合は、サーバー時刻が未来に設定されています。トークンの期限切れを示すメッセージが表示される場合は、サーバー時刻が過去にずれすぎています。2 台のサーバー間で時刻に差があるのは珍しくありません。サーバー上で PHP の echo date(DateTime::ISO8601) を実行し、その出力を秒単位まで含めて現在の UTC 時刻と比較してください。サーバーの時刻が UTC 時刻から 60 秒 (デフォルトの猶予) を超えてずれている場合は、サーバーのクロックスキューを考慮して、より長い猶予を設定する必要があります。以下のコードは、プラグインの読み込み後かつログインフックの実行前に実行される場所であれば、テーマの functions.php またはそれ以外の場所に貼り付けることができます。
これにより、120秒の猶予が設けられます。サーバーの時刻のずれ具合に応じて、これを調整する必要がある場合があります。

ログインできず、「このアカウントには関連付けられたメールアドレスがありません…」というエラーメッセージが表示されます

このエラーが表示される場合は、接続 > Social で、各プロバイダーからメールアドレスを取得するよう設定されていることを確認してください (各プロバイダーを展開してください) 。なお、すべてのプロバイダーがユーザーのメールアドレスを返すわけではありません (例: X) 。その場合は、Auth0 Dashboard (または API) から、ログイン済みのユーザーにいつでも Email アドレスを追加できます。Users > Edit を参照してください。 email_verified フラグを返さない接続 (これを含まないエンタープライズ接続もあります) や、特定の Social Connection でこの検証をスキップしたい場合は、その接続の strategy を「Skip Strategies」フィールドに追加してください。このフィールドは、wp-admin > Auth0 > 設定 > Advanced からアクセスできる Require Verified Email スイッチの下にあります。 このフィールドは、Auth0 が推奨するセキュリティ対策を回避することになるため、必要な場合にのみ使用してください。

ログインできず、「There is a user with the same email」というエラーメッセージが表示されます

これは、ログインに使用しているメールアドレスと同じメールアドレスを持つユーザーが WordPress に存在し、そのユーザーが別の Auth0 ユーザーに紐付けられていることを意味します。プラグインのテスト中である場合や、既存のユーザーを新しい Auth ユーザーに関連付けたい場合は、代わりに次の手順を行ってください。
  1. 管理者としてログインします
  2. wp-admin > Users に移動し、使用しているメールアドレスを検索します
  3. ユーザーのプロファイルを表示し、ページの一番下までスクロールします
  4. Delete Auth0 Data をクリックして確認します
Auth0 に同じメールアドレスのユーザーアカウントが 2 つある場合、このエラーメッセージは引き続き表示されます。ユーザーアカウントをリンクすることをお勧めします。

ログインしようとすると、ブラウザーのコンソールログに “Failed cross origin authentication” または “No verifier returned from client” というエラーメッセージが表示されます

Auth0 Dashboard > アプリケーション > アプリケーション に移動し、WordPress アプリケーションを選択して設定を開き、Allowed Callback URLsAllowed Origins (CORS) が WordPress サイトと一致していることを確認してください。 Chromium ベースのブラウザーを使用している場合は、サードパーティ Cookie が無効になっていないことを確認してください。詳しくは、Cross-Origin Authentication を参照してください。

Setup Wizard を再実行したいのですが、そのメニュー項目がもう表示されません。

これは、プラグインがすでに Domain、、および で設定済みであることを意味します。Setup Wizard をもう一度実行すると、予期しない結果になる可能性があります。WordPress を初めて設定していて、まだ一度もログインしていない段階で最初からやり直したい場合は、次の手順に従ってください。
  1. wp-admin > Auth0 > 設定 > Basic に移動します。
  2. Domain と Client ID を削除します。下にスクロールして 変更を保存 をクリックします。
  3. Auth0 Dashboard > アプリケーション > アプリケーション に移動します。
  4. WordPress によって作成されたアプリケーションを探します (名前は WordPress サイトのサイト名になっているはずです) 。
  5. アプリケーションを選択して設定を表示します。下にスクロールし、Delete Application を選択します。
  6. Auth0 Dashboard > Authentication > Database に移動します。
  7. WordPress によって作成された接続を探します (名前は WordPress サイトのサイト名の先頭に “DB-” が付いたものになっているはずです) 。
  8. 接続を選択して設定を表示します。下にスクロールし、I Want To Delete This Connection. を選択します。これにより、その接続と、その中に作成されたすべてのユーザーが削除される点にご注意ください。
  9. WordPress に戻ります。これで、管理メニューの Auth0 の下に Setup Wizard オプションが表示されます。

パスワードレスログインを設定するにはどうすればよいですか?

ログインは、メールまたは SMS を使って、Auth0 対応のあらゆる Web サイトで利用できます。これを WordPress サイトで機能させるには、次のようにします。
  1. プラグイン設定の Features ビューで Passwordless Login を有効にし、保存します。
  2. Auth0 Dashboard > Authentication > Passwordless に移動します。
  • メールを使用するには、Email 接続を有効にし、必要に応じて設定を変更します。これにより、メールのコードを使ったログインが有効になります (ユーザーにコードがメールで送信され、そのコードをサイト上のログインフォームに入力します) 。
  • 「マジックリンク」 (メールで送信されたリンクから自動的にログイン) を使用するには、プラグイン設定の Advanced タブにある「Extra Settings」フィールドに {passwordlessMethod: 'code'} を追加します。
  • SMS ログインを使用するには、SMS 接続を有効にし、手順に従って Twilio 開発者アカウントを設定します (利用状況によっては有料の Twilio アカウントが必要です) 。
Auth0 のログインフォームでは、上で有効化した接続に応じてパスワードレスの方法が選択されます。両方の接続を有効にしている場合は、既定でメールが使用されます。この場合、SMS を表示するにはメール接続を無効にするか、プラグイン設定の Advanced タブにある Connections フィールドに sms を追加してください。

WordPressで同じユーザーに2つのアカウントがある

状況によっては、1人のユーザーに2つのアカウントが作成されてしまうことがあります。WordPressでは、片方のアカウントを削除し、そのアカウントのコンテンツを別のユーザーに引き継ぐことで、ユーザーを統合できます。wp-admin > Users に移動し、削除したいアカウントを選択して、確認ダイアログでコンテンツの移行先となる別のユーザーを選択します。

設定に誤りがあり、Auth0 を使って認証できません。プラグインにアクセスする別の方法はありますか?

プラグインには、通常の WordPress のログインから、有効な WordPress の資格情報を使ってアクセスできます。その際、ログイン URL に ?wle を追加してください。例: http://yourdomain.com/wp-login.php?wle

ユーザーのログイン時に問題が発生しています。何が起きているかのログはどこで確認できますか?

このプラグインにはエラーログがあり、そこで発生した内容を確認できます。Auth0 プラグインメニューの Error Log サブ項目からアクセスしてください。追加情報は Auth0 Dashboard > Monitoring > Logs で確認できます。

ウィジェットまたはショートコードをデフォルトでsignupモードで表示するにはどうすればよいですか?

ウィジェットのExtra configuration設定 (またはショートコードのextra_conf属性) で、このJSON {"mode":"signup" } を追加すると、Pluginをこのモードで表示させることができます。

Plugin を使ってログインを強制すると、ユーザーがログインした状態にならない

これは通常、ログイン後のページがキャッシュされていることが原因です。これを回避する方法についてはホストに確認するか、URL にキャッシュ回避用のパラメーターを追加してみてください。詳しくは、GitHub のこの gist を参照してください

“Force Login”プラグイン使用時に、ユーザーがログイン状態にならない

これは、callback URL が AllowList に追加されていないためです。my_forcelogin_whitelist フィルターにこのコードを追加してみてください。

ログイン後にユーザーを特定の URL にリダイレクトするにはどうすればよいですか?

すべてのリダイレクトは、実行前に wp_safe_redirect() によってチェックされます。メインドメイン以外のドメインにリダイレクトしようとしている場合は、WordPress コアの allowed_redirect_hosts フィルターを使って、そのドメインを許可対象に追加してください。詳しくは、wordpress.org の apply_filters( ‘allowed_redirect_hosts’, string[] hosts, string hosts, string host ) をご覧ください。

ログインページでは

このプラグインはWordPressの機能を活用しているため、デフォルト設定のままでスムーズに動作します。リダイレクトを追加するには、ユーザーをログインページに移動させる際に、URLへredirect_toクエリパラメータを付与します。ログインに成功すると、プラグインはユーザーをこのURLへリダイレクトします。 また、Auth0プラグインの設定ページにあるLogin redirection URL設定を使用することもできます。redirect_toパラメータが指定されていない場合は、このURLがユーザーのリダイレクト先として使用されます。

ウィジェット を使用する

ウィジェット は、認証前にユーザーが表示していたページへ自動的にリダイレクトします。これは、Redirect after login: 設定で変更できます。

ショートコードの使用

ショートコードは、認証前にユーザーが表示していたページと同じページに自動的にリダイレクトします。これを上書きするには、redirect_to 属性を使用します。

WordPress ユーザーを Auth0 に移行するにはどうすればよいですか?

現在のバージョンのプラグインでは、ユーザーを Auth0 に自動移行することはできませんが、いくつかの方法があります。
  • このプラグインでは、カスタムデータベース接続を Auth0 へのインポート モードに設定するための 2 つのエンドポイントが公開されています。これらのエンドポイントの詳細については、Configure Automatic Migration from Your Database を参照してください。
  • ユーザーデータを JSON ファイルにエクスポートし、Auth0 に一括インポートするためにアップロードします。移行時には Auth0 で WordPress のパスワードを復号できないため、ユーザーは最初に Auth0 でログインする際、パスワードをリセットする必要があります。JSON ファイルの生成方法については、Bulk User Imports を参照してください。続いて、Auth0 の Import Users endpoint を使用してファイルをアップロードする必要があります。
  • このスクリプト と WordPress XML RPC エンドポイントを使って、カスタムデータベース接続による移行フローを設定します。移行フローの設定方法について詳しくは、Configure Automatic Migration from Your Database を参照してください。WordPress XML RPC エンドポイントの詳細については、XML-RPC Support on wordpress.org を参照してください。

dict 設定を行うと form_title 設定が無視される

内部的には、このPluginは dict 設定を使用して Auth0 ウィジェット のタイトルを変更しています。dict フィールドを設定すると、form_title 設定よりもそちらが優先されます。 この場合に form_title を変更するには、dict JSON に次の属性を追加する必要があります。

埋め込みの Auth0 ログインフォームを変更するにはどうすればよいですか?

プラグインの設定ページにある Appearance タブには、サイトに埋め込まれたログインフォーム (wp-login/php ページ、ショートコード、またはウィジェット) の見た目や使い勝手を変更できるオプションが多数あります。これらのオプションの詳細については、Configure Login by Auth0 をご覧ください。これは、Auth0 がホストする ページ上のログインフォームには影響しません。 また、Advanced タブには「Extra Settings」というフィールドもあり、構成したい設定をすべて含む有効な JSON オブジェクトを指定できます。これにより、Appearance タブで行った変更はすべて上書きされます。利用可能なすべての設定オプションを確認するには、Lock Configuration Options をご覧ください。 外部スタイルシートと JS ファイルは、ショートコードやウィジェットでは wp_enqueue_scripts フックを、wp-login.php では login_enqueue_scripts フックを使用して、テーマ内で読み込む必要があります。詳細については、wordpress.org の do_action( 'wp_enqueue_scripts' )wordpress.org の do_action( 'login_enqueue_scripts' ) をご覧ください。

セッションの有効期限が短すぎる

Auth0 プラグインはセッションを管理せず、WordPress の設定を使用します。既定では、ユーザーセッションは 2 日間維持されます。セッションを最大 14 時間まで維持できるようにするには、プラグイン設定の Advanced タブで Remember users session 設定を有効にします。

リフレッシュトークンを実装するにはどうすればよいですか?

プラグインで使用されるログインメソッドに追加のパラメーターを実装し、を利用できるようにしました。これを実現するには、auth0_auth_scope フィルターと auth0_user_login アクションを組み合わせて使用します。

WordPress に保存されたプロファイルデータは Auth0 のユーザーアカウントに同期されません。

これは現時点ではプラグインの制限事項ですが、今後のリリースでの対応を検討しています。唯一の例外はユーザーのパスワードです。WordPress でパスワードが変更され、使用中のデータベース接続に設定されたセキュリティポリシーを満たしている場合は、そのパスワードは Auth0 ユーザーにも反映されます。今後のリリースでは、パスワードの強度が不十分な場合に処理を停止するエラーメッセージを追加する予定です。

「Social Login with Auth0」から「Login by Auth0」へ移行するにはどうすればよいですか?

これまでAuth0では、2つのWordPressプラグインを提供してきました。 この2つのプラグインは実質的に同じものですが、Social Login with Auth はバージョン3.7.0 (2018年8月13日リリース) 以降更新されません。Social Login with Auth から Login by Auth0 への移行は簡単で、Auth0やWordPressのデータが失われることはありません。 Social Login with Auth から Login by Auth0 に移行すると、表示されるバージョン番号が変わります。そのため、まずはステージング環境または開発サーバーでこの変更をテストしてください (wp-adminでプラグインを更新する場合と同様です) 。また、移行プロセス中はログインができなくなる可能性があるため、メンテナンスモード用のプラグインを使用するか、アクセスの少ない時間帯に移行を行ってください。 最も簡単な移行方法は、(S)FTPを使用する方法です。
  1. 管理者としてWordPressサイトにログインします。
  2. Login by Auth0をダウンロードし、ローカルで解凍します。
  3. WordPress管理画面の「Plugins」画面で Social Login with Auth0 プラグインを無効化します。
  4. 移行先のサーバーにログインし、wp-content/plugins に移動します。
  5. social-login-with-auth0 フォルダーをpluginsフォルダーの外に移動して、内容をバックアップします。
  6. 新しい auth0 プラグインフォルダーをpluginsディレクトリにアップロードします。
  7. WordPressの Admin > Plugins 画面で新しい「Login by Auth0」プラグインを有効化します。
FTP経由でサイトにアクセスできない場合は、WordPress管理画面から直接この手順を実行することもできます。
  1. 管理者としてWordPressサイトにログインします。
  2. Auth0 > Import-Export Settings に移動します。
  3. Export Settings をクリックし、続けて Export をクリックします。
  4. WordPressの Admin > Plugins 画面で Social Login with Auth0 プラグインを無効化します。
  5. Social Login with Auth0 プラグインを削除し、確認します。
  6. Plugins > Add New に移動し、「Auth0」を検索します。
  7. Login by Auth0 プラグイン (必ず名前を確認してください) で、Install Now をクリックします。
  8. 完了したら、Activate をクリックします。
  9. Auth0 > 設定 を確認し、以前の設定がそのまま残っていることを確認します。残っていない場合は、次の手順を実行します。
    1. Auth0 > Import-Export Settings に移動します。
    2. 先ほどエクスポートした設定JSONを貼り付け、Import をクリックします。
  10. 設定ファイルとしてエクスポートしたJSONは完全に削除してください (機密情報が含まれています) 。
これで新しいプラグインで想定どおりに動作し、更新も通常どおり再開されます。

詳しくはこちら