Comment cela fonctionne-t-il?
- Un utilisateur tente de se connecter avec un formulaire de connexion Auth0 (intégré sur votre site ou hébergé chez Auth0).
- Si Auth0 ne trouve pas d’utilisateur associé aux informations d’identification fournies dans votre connexion à la base de données, il appelle le point de terminaison Migration sur votre site WordPress avec les identifiants de l’utilisateur et le jeton de migration.
- Le plugiciel trouve un utilisateur dans votre base de données WordPress avec le nom d’utilisateur/courriel fourni et vérifie le mot de passe.
- Si un utilisateur peut être authentifié avec succès, Auth0 crée l’utilisateur dans la connexion à la base de données de votre site, authentifie l’utilisateur et le connecte.
- La prochaine fois que l’utilisateur se connectera, il utilisera l’utilisateur Auth0 et le point de terminaison de la migration sera ignoré.
Mise en place et configuration
- Créez et configurez correctement une application, et créez et activez une connexion de base de données vide pour l’application. Il peut s’agir des mêmes que celles créées dans le processus standard de l’assistant d’installation, ou vous pouvez les créer à partir de zéro. Pour en savoir plus sur l’assistant d’installation, lisez Installer la connexion par Auth0.
- Dans l’écran Auth0 > Paramètres de WordPress, assurez-vous que le domaine de l’application, l’ID et le secret client sont enregistrés dans les bons champs de l’onglet Basic.
-
Dans la vue Avancé, activez le réglagePoints de terminaison de migration des utilisateurs et sélectionnez Enregistrer les modifications. Si vous utilisez des paramètres basés sur 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 guillemets simples ni barres obliques inverses. - Dans les réglages, vous devriez maintenant voir un Jeton de sécurité. Gardez cette page ouverte, car vous aurez besoin de cette valeur plus tard dans le processus.
- Dans Auth0 Dashboard, accédez à la connexion de base de données que vous souhaitez utiliser et activez Nécessite le nom d’utilisateur et Importer les utilisateurs vers Auth0.
- Sélectionnez la vue Base de données personnalisée, et activez Utiliser ma propre base de données.
- Il devrait y avoir deux onglets en dessous de ce réglage sous Scripts d’action de base de données : un pour Login Connexion et un pour Obtenir l’utilisateur.
- Sélectionnez la vue Connexion, effacez le code existant, copiez le code db-login.js du dépôt GitHub, et collez-le dans l’éditeur de code.
-
Cette étape concerne les versions 3.10.0 et antérieures : Cherchez
{THE_WS_URL}et remplacez 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 Paramètres > Général de wp-admin. Vous pouvez tester ceci en collant l’URL complète du site dans votre navigateur. Vous devriez voir le code d’erreur suivant :{"status":401,"error":"Unauthorized"}. -
Cette étape concerne les versions 3.10.0 et antérieures : Cherchez le
{THE_WS_TOKEN}et remplacez-le par le jeton qui apparaît sous le réglage Points de terminaison de migration de l’utilisateur. - Il ne doit y avoir aucune erreur dans l’éditeur. Si tout semble correct, cliquez sur Enregistrer en haut.
-
Cette étape concerne les versions 3.11.0 et ultérieures : Faites défiler vers les Paramètres et ajoutez les variables de configuration suivantes :
endpointUrldéfini sur l’URL du site de l’instance WordPress (wp-admin > Paramètres > Général > champ “Site URL” ), suivi de/index.php?a0_action=.migrationTokendéfini sur la valeur du jeton de sécurité de l’étape 4 ci-dessus.userNamespacedéfini sur votre nom d’application dans Auth0 ou toute autre valeur comprenant uniquement des lettres, des chiffres et des tirets.

- Cliquez sur le bouton Essayer en haut et utilisez un compte utilisateur WordPress valide dans le formulaire qui apparaît. Vous devriez voir apparaître le message « Le profil est », suivi des données de l’utilisateur. Si ce n’est pas le cas, lisez la section Dépannage ci-dessous.
- Sélectionnez la vue Obtenir l’utilisateur, effacez le code existant, copiez le code db-get-user.js du référentiel GitHub, et collez-le dans l’éditeur de code.
-
Cette étape concerne les versions 3.10.0 et antérieures : Cherchez
{THE_WS_URL}et remplacez-la 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 Paramètres > Général de wp-admin. Vous pouvez tester ceci en collant l’URL complète du site dans votre navigateur. Vous devriez voir le code d’erreur suivant :{"status":401,"error":"Unauthorized"}. -
Cette étape concerne les versions 3.10.0 antérieures : Cherchez
{THE_WS_TOKEN}et remplacez-la par le jeton qui apparaît sous le réglage Points de terminaison de migration des utilisateurs. - Il ne doit y avoir aucune erreur dans l’éditeur. Si tout semble correct, cliquez sur Enregistrer.
- Cliquez sur le bouton Essayer en haut et utilisez un courriel avec un compte utilisateur WordPress valide dans le formulaire qui apparaît. Vous devriez voir apparaître le message « Le profil est », suivi des données de l’utilisateur. Si ce n’est pas le cas, lisez la section Dépannage ci-dessous.
- Dans une nouvelle session de navigation, allez sur une page de connexion du site WordPress et essayez de vous connecter (l’utilisateur ne doit pas 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ébut, mais devrait aboutir. Les connexions suivantes seront plus rapides.
- (FACULTATIF) Pour activer une sécurité supplémentaire pour les points de terminaison de la migration, allez à l’écran Auth0 > Paramètres dans WordPress, activez, puis Enregistrer les modifications. Essayez de vous connecter avec un autre utilisateur pour vérifier qu’Auth0 peut bel et bien accéder aux points de terminaison.
Dépannage
- Une URL ou un jeton incorrect dans les scripts de la base de données personnalisée.
- La liste d’adresses IP autorisées est active, mais contient des adresses IP incorrectes.
- Points de terminaison restreints ou mis en cache sur votre instance WordPress.
Jeton inattendu < dans le JSON à la position 0
{"status":401,"error":"Unauthorized"}
// ou
{"status":403,"error":"Forbidden"}
Si ce que vous voyez est la page d’accueil ou une erreur 404, l’URL est incorrecte. Recherchez l’URL de votre site sous Paramètres > Général > URL du site dans la section administrateur de 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 Obtenir l’utilisateur.
- Pour les versions 3.10.0 et précédentes : La valeur de l’URL devrait apparaître dans le script lui-même en tant que premier paramètre de l’appel
request.post. - 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 Essayer pour voir la valeur qui est enregistrée pour
endpointUrl:
callback(null, configuration);
Si vous êtes sûr que les URL sont correctes et que le problème persiste, vérifiez auprès de votre hébergeur que ces URL ne sont pas mises en cache ou restreintes de quelque manière que ce soit.
Mauvaise adresse électronique ou mauvais mot de passe
callback(null);
par :
callback(wpUser.error);
Enregistrez le script et essayez à nouveau de vous connecter. Vous devriez voir l’un des messages suivants et être en mesure d’identifier le problème à l’aide des étapes ci-dessous. Une fois le problème résolu, rétablissez le script tel qu’il était.
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 Essayer pour voir la valeur enregistrée pour
migrationToken:
callback(null, configuration);
Cela signifie que la liste des IP autorisées pour la migration est activée, mais que l’adresse IP entrante ne figure pas sur la liste. Juste en dessous du script de connexion, vous devriez voir une liste d’adresses IP :


Authorization soit analysée. Pour obtenir de l’aide sur le dépannage du serveur, lisez Apache 2.4 + PHP-FPM and Authorization headers sur stackoverflow.com. Pour voir comment le jeton est récupéré, consultez le code du plugiciel dans le référentiel GitHub
Jeton non valide
Identifiants invalides
Impossible de modifier l’adresse courriel, ou les données de l’utilisateur sont incorrectes
- Si vous n’avez pas de données utilisateur stockées qui doivent être conservées (si vous n’utilisez la connexion que pour la connexion et que vous ne stockez pas de métadonnées), vous pouvez créer une nouvelle connexion de base de données personnalisée en suivant les étapes ci-dessus (en utilisant les instructions pour la version 3.11.0) et basculer l’application vers cette nouvelle connexion (assurez-vous de désactiver l’ancienne connexion). La migration sera redémarrée et il n’y aura pas d’impact sur l’expérience de l’utilisateur.
- Si vous avez des données dans Auth0 qui doivent être conservées, vous pouvez utiliser notre extension Importation/Exportation des utilisateurs pour ajuster les données de l’utilisateur.
- Créez une nouvelle connexion de base de données personnalisée en suivant les étapes ci-dessus (en utilisant les instructions pour la version 3.11.0).
- Exportez tous les utilisateurs de la connexion existante (nous vous recommandons de mettre votre site en mode maintenance entretien pendant le basculement, afin qu’il ne manque aucun utilisateur suite à l’importation/exportation).
. 3. Modifiez tous les identifiants des utilisateurs pour ajouter l’espace de noms utilisé lors de la création de la nouvelle connexion. Les identifiants d’utilisateurs devraient passer de
auth0|123àauth0|Votre-nom-de-site-WP|123. Ajustez tous les autres champs dont vous avez besoin pour suivre le schéma d’importation. Pour en savoir plus, lisez Importation d’utilisateurs en lots, schéma de base de données et exemples. - Activez la nouvelle connexion et désactivez l’ancienne pour votre application. 5. Importez les nouvelles données utilisateur dans la nouvelle connexion et testez.
- Si vous disposez d’un compte payant, vous pouvez communiquer avec notre équipe de support pour exécuter un script de mise à jour de la base de données afin de modifier les identifiants utilisateur vers une version à espace de noms et ajouter l’espace de noms à votre script de base de données en même temps (étape 12 dans Mise en place et configuration ci-dessus).