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

もっと詳しく

I