Intégration à WordPress

Le plugiciel Login by Auth0 gère automatiquement les flux de connexion et de création de comptes en créant ou en faisant correspondre des comptes utilisateurs avec les données de profil Auth0 entrantes. Le processus de connexion et celui d’inscription sont semblables. Un compte sera soit créé, soit lié à votre base de données WordPress en fonction des informations qu’il contient. La connexion à partir d’Auth0 crée un compte WordPress, tandis que l’inscription à partir d’Auth0 permet de faire correspondre un compte WordPress existant.

Si vous utilisez le paramètre de migration des utilisateurs dans le plugiciel, le flux de connexion sera légèrement différent de ce qui est expliqué ci-dessous. Pour en savoir plus, lisez Migration des utilisateurs dans le plugiciel WordPress Login by Auth0.

Vous trouverez ci-dessous les étapes de la procédure :

  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 gadget logiciel ou un code court.

  2. L’utilisateur fournit 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 sans mot de passe dans le formulaire de connexion Auth0, Lock.

  3. Auth0 tente d’authentifier l’utilisateur avec la méthode sélectionnée.

    1. Si la connexion ou l’inscription avec un nom d’utilisateur + mot de passe ou sans mot de passe échoue, un message d’erreur apparaît sur Lock.

    2. En cas de réussite, 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 plugiciel. Une fois cette opération terminée, l’enregistrement de l’utilisateur Auth0 a été créé et le reste du processus se déroule sur le site WordPress.

  5. La procédure de connexion proprement dite diffère selon que vous utilisez le flux de code d’autorisation ou le flux implicite :

    1. Pour les connexions qui utilisent 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 ne réussit pas, une erreur « État invalide » est affichée et le processus de connexion s’arrête. Pour en savoir plus sur la validation de l’état, consultez Dépannage du plugiciel WordPress Login by Auth0.

      3. Le jeton d’ID est validé pour s’assurer que rien n’a été modifié pendant le transfert. Si le jeton d’ID n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’arrête (voir la page Dépannage pour plus d’informations sur la validation du jeton d’ID).

      4. Les données relatives au profil utilisateur sont récupérées au moyen de Management API qui utilise le flux de communication entre machines. Pour en savoir plus, consultez Flux de communication entre machines.

    2. Pour les connexions qui utilisent le flux implicite :

      1. L’utilisateur est redirigé vers une URL de rappel, SITE URL/wp-login.php?auth0=implicit avec un jeton d’ID et la même valeur state dans un lien d’ancrage.

      2. Ce lien d’ancrage est analysé en JS puis renvoyé à une URL de rappel SITE URL/index.php?auth0=implicit avec ces deux mêmes valeurs dans les paramètres de l’URL.

      3. Le jeton d’ID est validé pour s’assurer que rien n’a été modifié pendant le transfert. Si le jeton d’ID n’est pas valide, un message d’erreur s’affiche et le processus de connexion s’arrête (voir la page Dépannage pour plus d’informations sur la validation du jeton d’ID).

      4. Les informations contenues dans le jeton d’ID valide sont utilisées comme données de profil utilisateur.

  6. Le processus d’authentification Auth0 est terminé et le plugiciel tente de faire correspondre les données du profil avec un utilisateur dans WordPress.

  7. Le plugiciel vérifie si le site requiert une adresse courriel (onglet Advanced [Avancé] des paramètres du plugiciel) et si le profil entrant a un indicateur email_verified activé.

    1. Si le site exige une adresse courriel et que l’utilisateur entrant n’en fournit pas (certains fournisseurs d’identité pour les réseaux sociaux, comme X, n’incluent pas d’adresse courriel), le processus de connexion s’arrête avec un message d’erreur indiquant « Ce compte n’a pas de courriel associé. »

    2. Si le site requiert une adresse courriel et que l’utilisateur entrant n’a pas l’indicateur email_verified défini sur true, le processus de connexion s’arrête avec un message d’erreur indiquant « Ce site nécessite une adresse courriel vérifiée » et un lien pour renvoyer le courriel de vérification. Ce message continue de s’afficher jusqu’à ce que l’utilisateur effectue la vérification de son courriel.

    3. Si le site n’exige pas d’adresse courriel ou si l’utilisateur entrant a l’indicateur email_verified défini sur true, le processus de connexion se poursuit.

  8. Le plugiciel vérifie s’il existe un utilisateur dans la base de données de WordPress dont la valeur usermeta correspond à l’identifiant de l’utilisateur Auth0 entrant (ce qui signifie que l’utilisateur s’est déjà inscrit ou connecté avec Auth0).

    1. Si un utilisateur possédant l’identifiant de l’utilisateur entrant est détecté, la procédure de connexion se poursuit.

    2. Si un utilisateur n’est pas détecté avec l’identifiant de l’utilisateur Auth0 entrant, le plugiciel recherche une adresse courriel correspondant à l’utilisateur entrant.

      1. Si un utilisateur correspondant est trouvé, il sera choisi pour la connexion, qui continuera alors son cours.

      2. Si aucune correspondance n’est trouvée, le plugiciel vérifie si l’enregistrement est actif pour le site WordPress :

        1. Si l’enregistrement est désactivé, la procédure de connexion échoue et un message d’erreur s’affiche : « Impossible de créer un utilisateur. Le processus d’enregistrement n’est pas proposé ».

        2. Si l’enregistrement est activé, un nouvel utilisateur est créé et la procédure de connexion se poursuit.

  9. L’utilisateur trouvé ou créé est mis à jour avec les données de profil Auth0 entrantes, y compris son identifiant d’utilisateur Auth0.

  10. L’utilisateur est connecté à son compte WordPress avec wp_set_auth_cookie et l’action principale do_login se déclenche.

  11. L’utilisateur est redirigé vers une page du site, qui peut être la page par défaut définie dans l’onglet Advanced (Avancé) des paramètres du plugiciel ou l’URL de connexion d’origine si un code court ou un gadget logiciel a été utilisé ou une page différente fournie au cours du processus de connexion.

L’utilisateur est maintenant connecté à Auth0 et à son compte WordPress, les deux étant associés par leur identifiant Auth0.

En savoir plus