Skip to main content
Le plugin Login by Auth0 gère automatiquement les processus de connexion et de création de compte en créant des comptes d’utilisateur ou en les associant à partir des données de profil Auth0 reçues. Le processus de connexion et le processus 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 le plugin, le parcours de connexion sera légèrement différent de ce qui est expliqué ci-dessous. Pour en savoir plus, consultez User Migration dans le plugin WordPress Login by Auth0. 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 à [SITE URL]/wp-login.php ou d’une page contenant un widget ou un shortcode.
  2. L’utilisateur saisit son nom d’utilisateur et mot de passe, clique sur une icône de connexion sociale pour utiliser un autre fournisseur d’identité, ou termine 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 apparaît dans Lock.
    2. Si c’est le cas, 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, l’enregistrement de l’utilisateur dans Auth0 a été créé et le reste du processus se déroule sur le site WordPress.
  5. Le processus 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 l’URL de rappel SITE URL/index.php?auth0=1, avec un code d’autorisation et la même valeur state dans les paramètres d’URL.
      2. La valeur state est validée. Si la validation échoue, une erreur “Invalid state” s’affiche et le processus de connexion s’arrête. Pour en savoir plus sur la validation de state, consultez Dépannage de Login by Auth0 WordPress Plugin.
      3. Le ID token est validé pour s’assurer que rien n’a été modifié pendant le transit. Si le ID token n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’arrête (consultez la page de dépannage pour en savoir plus sur la validation du ID token)
      4. Les données du profil utilisateur sont récupérées au moyen de la Management API à l’aide du flux machine à machine. Pour en savoir plus, consultez Flux machine à machine.
    2. Pour les connexions avec le flux implicite :
      1. L’utilisateur est redirigé vers l’URL de rappel SITE URL/wp-login.php?auth0=implicit, avec un ID token et la même valeur state dans un fragment d’ancrage.
      2. Ce fragment d’ancrage est analysé en JavaScript, puis renvoyé par POST à l’URL de rappel SITE URL/index.php?auth0=implicit avec les deux mêmes valeurs dans les paramètres d’URL.
      3. Le ID token est validé pour s’assurer que rien n’a été modifié pendant le transit. Si le ID token n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’arrête (consultez la page de dépannage pour en savoir plus sur la validation du ID token)
      4. Les renseignements contenus dans le ID token valide sont utilisés comme données du profil utilisateur.
  6. Le processus d’authentification Auth0 est terminé et le plugin tente d’associer les données de profil à un utilisateur dans WordPress.
  7. Le plugin vérifie si le site exige une adresse courriel (onglet Advanced des Settings du plugin) et si le profil reçu a l’indicateur email_verified activé.
    1. Si le site exige une adresse courriel et que l’utilisateur qui se présente n’en fournit pas (certains fournisseurs d’identité sociale, comme X, n’incluent pas d’adresse courriel), le processus de connexion s’interrompt et affiche le message d’erreur “Ce compte n’a pas d’adresse courriel associée.”
    2. Si le site exige une adresse courriel et que l’utilisateur qui se présente n’a pas l’indicateur email_verified défini à true, le processus de connexion s’interrompt et affiche le message d’erreur “Ce site exige une adresse courriel vérifiée”, ainsi qu’un lien pour renvoyer le courriel de vérification. Ce message continue de s’afficher jusqu’à ce que l’utilisateur vérifie son adresse courriel avec succès.
    3. Si le site n’exige pas d’adresse courriel ou que l’utilisateur qui se présente 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é, l’extension cherche une adresse courriel correspondant à cet utilisateur :
      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, l’extension 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 de profil Auth0 reçues, y compris son ID d’utilisateur Auth0.
  10. L’utilisateur est connecté à son compte WordPress au moyen de wp_set_auth_cookie, puis l’action do_login du noyau 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 Settings du Plugin, l’URL de login d’origine si un shortcode ou un widget a été utilisé, ou une autre URL fournie pendant le processus de login.
L’utilisateur est maintenant connecté à Auth0 et à son compte WordPress, tous deux associés à son ID utilisateur Auth0.

En savoir plus