Passer au contenu principal
L’extension Login by Auth0 gère automatiquement les flux de connexion et de création de compte en créant des comptes d’utilisateur ou en les associant aux données de profil Auth0 reçues. Les processus de connexion et d’inscription sont semblables, et un compte sera créé ou associé selon les données de votre base de données WordPress. Se connecter avec Auth0 crée un compte WordPress, tandis que s’inscrire avec Auth0 associe un compte WordPress existant. Si vous utilisez le paramètre User Migration dans l’extension, le flux de connexion sera légèrement différent de ce qui est expliqué ci-dessous. Pour en savoir plus, consultez User Migration in Login by Auth0 WordPress Plugin. Voici les étapes du processus :
  1. L’utilisateur accède à la page de connexion du site WordPress. Il peut s’agir de la page de connexion principale à l’adresse [SITE URL]/wp-login.php ou d’une page contenant un widget ou un shortcode.
  2. L’utilisateur saisit son nom d’utilisateur et son mot de passe, clique sur une icône de réseau social pour utiliser un autre fournisseur d’identité, ou complète le processus Passwordless dans le formulaire de connexion Auth0, Lock.
  3. Auth0 tente d’authentifier l’utilisateur à l’aide de la méthode sélectionnée.
    1. Si la connexion ou l’inscription avec un nom d’utilisateur et un mot de passe, ou avec Passwordless, échoue, un message d’erreur s’affiche dans Lock.
    2. Si l’opération réussit, le processus se poursuit.
  4. L’utilisateur est redirigé vers le point de terminaison /authorize, avec un ticket de connexion et une valeur state générée par le plugin. Une fois cette étape terminée, le profil utilisateur Auth0 est créé, puis le reste du processus se déroule sur le site WordPress.
  5. La procédure de connexion varie selon que vous utilisez le flux de code d’autorisation ou le flux implicite :
    1. Pour les connexions avec le flux de code d’autorisation :
      1. L’utilisateur est redirigé vers une URL de rappel, SITE URL/index.php?auth0=1, avec un code d’autorisation et la même valeur state dans les paramètres de l’URL.
      2. La valeur state est validée. Si la validation échoue, une erreur « État invalide » s’affiche et le processus de connexion s’interrompt. Pour en savoir plus sur la validation de l’état, consultez Résoudre les problèmes de connexion avec le plugin Auth0 pour WordPress.
      3. Le jeton d’identification est validé pour vérifier qu’il n’a pas été modifié en cours de route. Si le jeton d’identification n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’interrompt (consultez la page de dépannage pour en savoir plus sur la validation du jeton d’identification)
      4. Les données du profil utilisateur sont récupérées au moyen de l’API de gestion à l’aide du flux Machine-to-Machine. Pour en savoir plus, consultez Flux Machine-to-Machine.
    2. Pour les connexions avec le flux implicite :
      1. L’utilisateur est redirigé vers une URL de rappel, SITE URL/wp-login.php?auth0=implicit, avec un jeton d’identification et la même valeur state dans un lien d’ancrage.
      2. Ce lien d’ancrage est analysé en JS, puis renvoyé par POST vers l’URL de rappel SITE URL/index.php?auth0=implicit avec les 2 mêmes valeurs dans les paramètres de l’URL.
      3. Le jeton d’identification est validé pour vérifier qu’il n’a pas été modifié en cours de route. Si le jeton d’identification n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’interrompt (consultez la page de dépannage pour en savoir plus sur la validation du jeton d’identification)
      4. Les informations contenues dans le jeton d’identification valide sont utilisées comme données de profil utilisateur.
  6. Le processus d’authentification Auth0 est terminé et le plugin tente d’associer les données du profil à un utilisateur dans WordPress.
  7. Le plugin vérifie si le site exige une adresse courriel (onglet Advanced des paramètres du plugin) et si le profil reçu comporte l’indicateur email_verified.
    1. Si le site exige une adresse courriel et que l’utilisateur qui se connecte n’en fournit pas (certains fournisseurs d’identité sociale, comme X, n’incluent pas d’adresse courriel), le processus de connexion s’arrête et un message d’erreur s’affiche : “Aucune adresse courriel n’est associée à ce compte.”
    2. Si le site exige une adresse courriel et que l’utilisateur qui se connecte n’a pas l’indicateur email_verified défini à true, le processus de connexion s’arrête et un message d’erreur s’affiche : “Ce site exige une adresse courriel vérifiée”, avec un lien pour renvoyer le courriel de vérification. Ce message continue de s’afficher jusqu’à ce que l’utilisateur ait vérifié son adresse courriel avec succès.
    3. Si le site n’exige pas d’adresse courriel ou que l’utilisateur qui se connecte a l’indicateur email_verified défini à true, le processus de connexion se poursuit.
  8. Le plugin vérifie s’il existe, dans la base de données WordPress, un utilisateur dont la valeur usermeta correspond à l’ID utilisateur Auth0 reçu (ce qui signifie que l’utilisateur s’est déjà inscrit ou s’est déjà connecté avec Auth0) :
    1. Si un utilisateur correspondant à l’ID utilisateur reçu est trouvé, le processus de connexion se poursuit.
    2. Si aucun utilisateur correspondant à l’ID utilisateur Auth0 reçu n’est trouvé, le plugin cherche une adresse courriel correspondant à l’utilisateur reçu :
      1. Si une correspondance est trouvée, cet utilisateur est sélectionné et le processus de connexion se poursuit.
      2. Si aucune correspondance n’est trouvée, le plugin vérifie si l’inscription est activée sur le site WordPress :
        1. Si l’inscription est désactivée, le processus de connexion s’arrête avec un message d’erreur indiquant “Impossible de créer l’utilisateur. Le processus d’inscription n’est pas disponible”.
        2. Si l’inscription est activée, un nouvel utilisateur est créé et le processus de connexion se poursuit.
  9. L’utilisateur trouvé ou créé est mis à jour avec les données du profil Auth0 reçues, y compris son identifiant utilisateur Auth0.
  10. L’utilisateur est connecté à son compte WordPress avec wp_set_auth_cookie, et l’action de base do_login est déclenchée.
  11. L’utilisateur est redirigé vers une page du site, qui peut être celle définie par défaut dans l’onglet Advanced des paramètres de l’extension, l’URL de connexion d’origine si un shortcode ou un widget a été utilisé, ou encore une autre URL fournie durant le processus de connexion.
L’utilisateur est maintenant connecté à Auth0 et à son compte WordPress, tous deux associés à son identifiant utilisateur Auth0.

En savoir plus