-
ユーザーがWordPressのサイトのログインページにアクセスします。これは、
[SITE URL]/wp-login.php
のメインログインページ、またはウィジェットやショートコードを含むページである可能性があります。 - ユーザーがユーザー名とパスワードを入力し、ソーシャルアイコンをクリックして別のIDプロバイダーを使用するか、Auth0ログインフォームのLockでパスワードレスプロセスを完了します。
-
Auth0が選択された方法でユーザーの認証を試みます。
- ユーザー名とパスワードまたはパスワードレスでログインまたはサインアップが失敗すると、Lockにエラーメッセージが表示されます。
- 成功すると、プロセスが継続します。
-
ログインチケットとプラグインによって生成された
state
値を使用して。ユーザーが/authorize
エンドポイントにリダイレクトされます。これが完了すると、Auth0ユーザーレコードが作成され、残りのプロセスはWordPressサイトで実行されます。 -
実際のログインプロセスは、使用しているフローが認可コードフローまたは暗黙フローかによって異なります。
-
認可コードフローのログインの場合:
- 認可コードとURLパラメーター内の同じ
state
値を持つコールバックURLのSITE URL/index.php?auth0=1
にユーザーがリダイレクトされます。 state
値が検証されます。検証に合格しない場合は、「無効な状態」エラーが表示され、ログインプロセスが停止します。状態検証の詳細については、「WordPressプラグインのLogin by Auth0のトラブルシューティング」をお読みください。- IDトークンが検証され、送信中に改ざんされていないことが確認されます。IDトークンが無効である場合は、エラーメッセージが表示され、ログインプロセスが停止します(IDトークンの検証の詳細については、トラブルシューティングのページを参照してください)。
- ユーザープロファイルデータは、マシンツーマシンフローを使用してManagement API経由で取得されます。詳細については、「マシンツーマシンフロー」をお読みください。
- 認可コードとURLパラメーター内の同じ
-
暗黙フローのログインの場合:
- IDトークンとアンカーリンク内の同じ
state
値を持つコールバックURLのSITE URL/wp-login.php?auth0=implicit
にユーザーがリダイレクトされます。 - このアンカーリンクはJSで解析され、同じ2つの値をURLパラメーターに含めてコールバックURの
SITE URL/index.php?auth0=implicit
にポストバックされます。 - IDトークンが検証され、送信中に改ざんされていないことが確認されます。IDトークンが無効である場合は、エラーメッセージが表示され、ログインプロセスが停止します(IDトークンの検証の詳細については、トラブルシューティングのページを参照してください)。
- 有効なIDトークンの情報は、ユーザープロファイルデータとして使用されます。
- IDトークンとアンカーリンク内の同じ
-
認可コードフローのログインの場合:
- Auth0の認証プロセスが完了すると、プラグインがプロファイルデータをWordPressのユーザーと照合しようとします。
-
プラグインがサイトにメールアドレスが必要か(プラグイン設定の**[Advanced(詳細)]**タブ)、そして受け取るプロファイルに
email_verified
フラグが設定されているを確認します。- サイトにメールアドレスが必要で、ユーザーがメールアドレスを提供しない場合(Xなどの一部のソーシャルIDプロバイダーはメールアドレスを含めません)、ログインプロセスが停止し、「このアカウントにはメールが関連付けられていません」というエラーメッセージが表示されます。
- サイトにメールアドレスが必要で、ユーザーの
email_verified
フラグがtrue
に設定されていない場合は、ログインプロセスが停止し、「このサイトには確認済みのメールアドレスが必要です」というエラーメッセージと検証メールを再送信するためのリンクが表示されます。これは、ユーザーがメールアドレスを正常に確認するまで表示されたままになります。 - サイトにメールアドレスが不必要な場合、またはユーザーの
email_verified
フラグがtrue
に設定されている場合は、ログインプロセスが続行されます。
-
受け取ったAuth0ユーザーIDと一致する
usermeta
値を持つユーザーがWordPressデータベース内に存在するか(ユーザーが以前にAuth0でサインアップまたはログインしたことがあるか)をプラグインが確認します。- 受け取ったユーザーIDのユーザーが見つかると、ログインプロセスが続行されます。
-
受け取ったAuth0ユーザーIDのユーザーが見つからない場合、プラグインはユーザーと一致するメールアドレスを探します。
- 見つかった場合は、そのユーザーが選択され、ログインプロセスが続行されます。
-
見つからない場合、プラグインはWordPressサイトに登録が有効化されているかを確認します。
- 登録がオフの場合、ログインプロセスが停止して、「ユーザーを作成できませんでした。登録プロセスは利用できません」というエラーメッセージが表示されます
。
- 登録がオンの場合は新しいユーザーが作成され、ログインプロセスが続行されます。
- 登録がオフの場合、ログインプロセスが停止して、「ユーザーを作成できませんでした。登録プロセスは利用できません」というエラーメッセージが表示されます
- 見つかったまたは作成されたユーザーは、Auth0ユーザーIDも含めて、受け取ったAuth0プロファイルデータで更新されます。
-
ユーザーが
wp_set_auth_cookie
を使用してWordPressアカウントにログインし、コアのdo_login
アクションが実行されます。 - ユーザーがサイトのページにリダイレクトされます。このページは、プラグイン設定の**[Advanced(詳細)]**タブで設定されたデフォルトページ、ショートコードまたはウィジェットが使用された場合の元のログインURL、またはログインプロセス中に提供された別のページである可能性があります。