
Commencer la migration
1
Prérequis
Pour configurer la migration automatique, vous avez besoin de ce qui suit :
- Une connexion de base de données personnalisée utilisant votre répertoire d’utilisateurs externe.
2
Activer la migration
Dans Auth0 Dashboard > Authentication > Database, sélectionnez la connexion de base de données personnalisée.Dans l’onglet Settings, activez Import Users to Auth0, puis sélectionnez Save.
3
Configurer les scripts d’action de base de données
Les scripts d’action de base de données sont du code que vous écrivez et qu’Auth0 exécute lorsqu’il interagit avec votre répertoire d’utilisateurs externe, par exemple lorsqu’un utilisateur se connecte ou s’inscrit.Ensuite, dans l’onglet Custom Database, repérez la section Database Action Scripts.
Lorsque vous activez la migration automatique, vous devez implémenter deux scripts :

-
Le script
login(), qui s’exécute lorsqu’un utilisateur qui ne figure pas dans la base de données Auth0 tente de se connecter. -
Le script
getUser(), qui s’exécute dans des cas comme les inscriptions et les changements de mot de passe. Les données renvoyées par le scriptgetUser()sont migrées vers le nouveau profil utilisateur Auth0.
Gérer les données du répertoire d’utilisateurs externe pendant la migration
- Les utilisateurs restent dans votre répertoire d’utilisateurs externe, à moins que vous ne les archiviez ou ne les supprimiez explicitement. Si un utilisateur est migré vers Auth0 puis supprimé d’Auth0, mais qu’il demeure dans votre répertoire d’utilisateurs externe, il est possible qu’il tente de se connecter et soit migré de nouveau. Nous recommandons de marquer les identités utilisateur de votre répertoire d’utilisateurs externe comme ayant été migrées avant l’exécution des scripts d’action de base de données personnalisée Login ou Get Users, afin d’éviter la recréation involontaire d’utilisateurs supprimés intentionnellement.
- En général, les utilisateurs sont créés dans le répertoire d’utilisateurs d’Auth0 après l’exécution du script d’action Login. Plutôt que de supprimer les utilisateurs de votre répertoire d’utilisateurs externe directement dans le script Login, nous recommandons de le faire dans le cadre d’un processus distinct afin d’éviter toute suppression accidentelle en cas d’erreur pendant la migration.
Terminer la migration
1
Vérifier que la migration est terminée
Vérifiez que la migration est terminée en vous assurant que tous les utilisateurs de votre répertoire d’utilisateurs externe se trouvent dans le répertoire d’utilisateurs d’Auth0.Vous pouvez afficher tous les utilisateurs du répertoire d’utilisateurs d’Auth0 de deux façons :
- Dans Auth0 Dashboard > User Management > Users.
-
Au moyen du endpoint List or Search users de la Management API (
GET /users).
2
Déconnecter le répertoire d’utilisateurs externe
Une fois que vous avez confirmé que tous les utilisateurs ont été migrés, vous pouvez déconnecter votre répertoire d’utilisateurs externe en mettant à jour vos scripts d’action de base de données pour qu’ils n’effectuent aucune opération. Cela empêche Auth0 de se connecter à votre répertoire d’utilisateurs externe pour authentifier les utilisateurs.Dans Auth0 Dashboard > Authentication > Database, sélectionnez votre connexion de base de données. Dans l’onglet Custom Database, repérez la section Database Action Scripts.Mettez à jour le script Login :Mettez à jour le script Get User :
Résoudre les problèmes liés à la migration des utilisateurs
Utilisateur en double ou utilisateur existe déjà
DUPLICATED_USER indique que l’utilisateur existe dans le répertoire d’utilisateurs interne d’Auth0, mais pas dans votre tenant. Vous pourriez obtenir cette erreur si :
- Vous essayez d’utiliser plus d’une méthode de migration (par exemple, la migration automatique suivie d’une importation en bloc d’utilisateurs).
- Vous supprimez un utilisateur de votre connexion Database, puis vous essayez de recréer cet utilisateur.
- Vous tentez de créer un nouvel utilisateur dans votre connexion Database alors que l’utilisateur existe déjà dans votre répertoire d’utilisateurs externe.
DUPLICATED_USER ou « The user already exists » :
-
Vérifiez les instructions
console.log()dans les Actions Real-time Logs. - Supprimez l’utilisateur à l’aide du point de terminaison Delete a User de la Management API.
- Supprimez l’utilisateur à l’aide du point de terminaison Delete a Connection User de la Management API.
- Demandez à l’utilisateur de se connecter ou de changer son mot de passe pour relancer la migration.
Métadonnées manquantes
user_metadata ou app_metadata) avec ses autres données de profil.
Vous pouvez atténuer ce scénario en créant une Action qui vérifie si le profil de l’utilisateur ne contient pas de métadonnées, les récupère depuis le magasin d’utilisateurs externe, puis les stocke dans Auth0.