Fonctionnement
- Un utilisateur tente de se connecter à l’aide d’un formulaire de connexion Auth0 (intégré à votre site ou hébergé par Auth0).
- Si Auth0 ne trouve pas d’utilisateur associé aux informations d’identification fournies dans votre connexion de base de données, il envoie une requête au point de terminaison de migration sur votre site WordPress avec les informations d’identification de l’utilisateur et le jeton de migration.
- Le plugin trouve un utilisateur dans votre base de données WordPress à l’aide du nom d’utilisateur ou de l’adresse courriel fournis et vérifie le mot de passe.
- Si l’utilisateur peut être authentifié avec succès, Auth0 crée l’utilisateur dans la connexion de base de données de votre site, l’authentifie et le connecte.
- La prochaine fois que l’utilisateur se connectera, il utilisera son compte Auth0, et le point de terminaison de migration sera ignoré.
Mise en place et configuration
- Créez et configurez correctement une application, puis créez et activez une connexion de base de données vide pour l’application. Il peut s’agir de la même configuration que celle créée par le processus standard du Setup Wizard, ou vous pouvez tout créer à partir de zéro. Pour en savoir plus sur le Setup Wizard, consultez Installer Login by Auth0.
- Dans l’écran Auth0 > Settings de WordPress, assurez-vous que le Domain, le Client ID et le Client Secret de l’application sont bien enregistrés dans les bons champs de l’onglet Basic.
-
Dans la vue Advanced, activez le paramètre User Migration Endpoints, puis sélectionnez Save Changes. Si vous utilisez des paramètres définis par des constantes, définissez
AUTH0_ENV_MIGRATION_WSsurtrueetAUTH0_ENV_MIGRATION_TOKENsur une chaîne aléatoire sécurisée d’au moins 16 chiffres, sans apostrophes ni barres obliques inverses. - Sous les paramètres, vous devriez maintenant voir un Security Token. Gardez cette page ouverte, car vous aurez besoin de cette valeur plus tard dans le processus.
- Dans le Auth0 Dashboard, accédez à la connexion de base de données que vous voulez utiliser et activez Requires Username et Import Users to Auth0.
- Sélectionnez la vue Custom Database, puis activez Use my own database.
- Vous devriez voir deux onglets sous ce paramètre dans Database Action Scripts : un pour Login et un pour Get User.
- Sélectionnez la vue Login, supprimez le code existant, copiez le code db-login.js du GitHub repository, puis collez-le dans l’éditeur de code.
-
Cette étape s’applique aux versions 3.10.0 et antérieures : Repérez
{THE_WS_URL}et remplacez-le par l’URL du site de votre instance WordPress, suivie de/index.php?a0_action=migration-ws-login. L’URL du site se trouve dans l’écran Settings > General de wp-admin. Vous pouvez la tester en collant l’URL complète dans votre navigateur. Vous devriez voir{"status":401,"error":"Unauthorized"}. -
Cette étape s’applique aux versions 3.10.0 et antérieures : Repérez
{THE_WS_TOKEN}et remplacez-le par le jeton qui apparaît sous le paramètre User Migration Endpoints. - Il ne devrait y avoir aucune erreur dans l’éditeur. Si tout semble correct, cliquez sur Save en haut.
-
Cette étape s’applique à la version 3.11.0 et aux versions ultérieures : Descendez jusqu’à Paramètres et ajoutez les variables de configuration suivantes :
endpointUrldéfini sur l’URL du site de votre instance WordPress (wp-admin > Réglages > Général > champ “Adresse web du site”), suivie de/index.php?a0_action=.migrationTokendéfini sur la valeur du jeton de sécurité indiquée à l’étape 4 ci-dessus.userNamespacedéfini sur le nom de votre Application dans Auth0 ou sur toute autre valeur contenant uniquement des lettres, des chiffres et des tirets.

- Cliquez sur le bouton Try en haut et utilisez un compte d’utilisateur WordPress valide dans le formulaire qui s’affiche. Vous devriez voir “Le profil est”, suivi des données de l’utilisateur. Sinon, consultez la section Dépannage ci-dessous.
- Sélectionnez la vue Get User, supprimez le code existant, copiez le code db-get-user.js du dépôt GitHub, puis collez-le dans l’éditeur de code.
-
Cette étape s’applique à la version 3.10.0 et aux versions antérieures : Repérez
{THE_WS_URL}et remplacez-le par l’URL du site de votre instance WordPress, suivie de /index.php?a0_action=migration-ws-get-user. L’URL du site se trouve dans l’écran Settings > General de wp-admin. Vous pouvez la tester en collant l’URL complète dans votre navigateur. Vous devriez voir{"status":401,"error":"Unauthorized"}. -
Cette étape s’applique à la version 3.10.0 et aux versions antérieures : Repérez
{THE_WS_TOKEN}et remplacez-le par le token affiché dans le paramètre User Migration Endpoints. - Il ne devrait y avoir aucune erreur dans l’éditeur. Si tout semble bon, cliquez sur Save.
- Cliquez sur le bouton Try en haut et utilisez l’adresse courriel d’un compte d’utilisateur WordPress valide dans le formulaire qui s’affiche. Vous devriez voir “Le profil est”, suivi des données de l’utilisateur. Sinon, consultez la section Dépannage ci-dessous.
- Dans une nouvelle session de navigateur, accédez à une page de connexion sur le site WordPress et essayez de vous connecter (l’utilisateur ne doit pas déjà exister dans la base de données). Vous remarquerez que le processus de connexion prend un peu plus de temps que d’habitude au départ, mais il devrait réussir. Les connexions suivantes seront plus rapides.
- (FACULTATIF) Pour activer une sécurité supplémentaire pour les points de terminaison de migration, accédez à l’écran Auth0 > Settings dans WordPress, activez l’option, puis cliquez sur Save Changes. Essayez de vous connecter avec un autre utilisateur pour vérifier qu’Auth0 peut toujours atteindre les points de terminaison.
Dépannage
- URL ou jeton incorrect dans les scripts de base de données personnalisée.
- Liste d’autorisation d’IP activée, mais avec des adresses IP incorrectes.
- Points de terminaison restreints ou mis en cache sur votre instance WordPress.
Unexpected token < in JSON at position 0
{"status":401,"error":"Unauthorized"}
// ou
{"status":403,"error":"Forbidden"}
Si vous voyez plutôt la page d’accueil ou une erreur 404, l’URL est incorrecte. Cherchez l’URL de votre site sous Settings > General > Site URL dans l’interface d’administration WordPress. Ajoutez /index.php?a0_action=migration-ws-login à la fin pour le script Login et /index.php?a0_action=migration-ws-get-user à la fin pour le script Get User.
- Pour les versions 3.10.0 et antérieures : La valeur de l’URL devrait apparaître dans le script lui-même comme premier paramètre de l’appel
request.post. - Pour les versions 3.11.0 et ultérieures : La valeur du token devrait être enregistrée dans une variable de configuration. Ajoutez ce qui suit à la première ligne de la fonction et utilisez le bouton Try pour voir ce qui est stocké dans
endpointUrl:
callback(null, configuration);
Si vous êtes certain que les URL sont correctes et que le problème persiste, vérifiez auprès de votre hébergeur pour vous assurer que ces URL ne sont ni mises en cache ni restreintes d’aucune façon.
Mauvaise adresse courriel ou mauvais mot de passe
callback(null);
par :
callback(wpUser.error);
Enregistrez le script, puis réessayez la connexion. Vous devriez voir l’un des messages suivants et être en mesure de cerner le problème à l’aide des étapes ci-dessous. Une fois le problème résolu, remettez le script comme avant.
Accès interdit
- Pour les versions 3.10.0 et antérieures : la valeur du jeton doit apparaître dans le script lui-même après
access_token: - Pour les versions 3.11.0 et ultérieures : la valeur du jeton doit être enregistrée dans une variable de configuration. Ajoutez ce qui suit à la première ligne de la fonction et utilisez le bouton Try pour voir ce qui est enregistré dans
migrationToken:
callback(null, configuration);
Cela signifie que la liste d’autorisation IP pour la migration est activée, mais que l’adresse IP entrante ne s’y trouve pas. Juste sous le script Login, vous devriez voir une liste d’adresses IP :


Authorization. Pour obtenir de l’aide sur le dépannage du serveur, consultez Apache 2.4 + PHP-FPM et les en-têtes Authorization sur stackoverflow.com. Pour voir comment le token est récupéré, consultez le code du Plugin dans le dépôt GitHub.
Jeton invalide
Identifiants invalides
Impossible de modifier l’adresse courriel ou données utilisateur incorrectes
- Si vous n’avez aucune donnée utilisateur enregistrée à conserver (si vous utilisez seulement la connexion pour prendre en charge le login et que vous n’enregistrez aucune métadonnée), vous pouvez créer une nouvelle connexion de base de données personnalisée en suivant les étapes ci-dessus (avec les notes de la version 3.11.0) et basculer l’Application vers cette nouvelle connexion (assurez-vous de désactiver l’ancienne connexion). La migration redémarrera et il n’y aura aucune incidence sur l’expérience utilisateur.
- Si vous avez des données dans Auth0 qui doivent être conservées, vous pouvez utiliser notre User Import/Export Extension pour ajuster les données utilisateur.
- Créez une nouvelle connexion de base de données personnalisée en suivant les étapes ci-dessus (avec les notes de la version 3.11.0).
- Exportez tous les utilisateurs de la connexion existante (nous vous recommandons de mettre votre site en mode maintenance pendant le basculement afin qu’aucun utilisateur ne soit oublié).
- Modifiez tous les ID utilisateur pour y ajouter l’espace de noms utilisé lors de la création de la nouvelle connexion. Les ID utilisateur devraient passer de quelque chose comme
auth0|123àauth0|Your-WP-Site-Name|123. Ajustez tous les autres champs nécessaires pour respecter le schéma d’importation. Pour en savoir plus, consultez Schéma de base de données et exemples pour l’importation en bloc d’utilisateurs. - Activez la nouvelle connexion et désactivez l’ancienne pour votre application.
- Importez les nouvelles données utilisateur dans la nouvelle connexion et effectuez un test.
- Si vous avez un compte payant, vous pouvez communiquer avec notre équipe de soutien pour exécuter un script de mise à jour de base de données afin de convertir les ID utilisateur en version avec espace de noms et d’ajouter en même temps l’espace de noms à votre script de base de données (étape 12 dans Configuration et mise en route ci-dessus).