Si vous essayez d’utiliser plusieurs méthodes de migration (par ex., la migration automatique puis l’importation en bloc d’utilisateurs), vous risquez de rencontrer une erreur
DUPLICATED_USER
. Cette erreur indique que l’utilisateur existe dans le magasin d’utilisateurs interne d’Auth0 mais pas dans votre locataire. Pour corriger cette erreur, supprimez l’utilisateur avec le point de terminaison Supprimer un utilisateur de connexion de l’Auth0 Management API, puis réessayez l’importation.Prérequis
Avant de lancer la tâche d’importation des utilisateurs :- Configurez une connexion de base de données dans laquelle importer les utilisateurs et activez-la pour au moins une application.
- Assurez- vous que, si vous importez des mots de passe, ceux-ci sont hachés à l’aide de l’un des algorithmes pris en charge. Les utilisateurs dont les mots de passe sont hachés au moyen d’algorithmes non pris en charge devront réinitialiser leur mot de passe lorsqu’ils se connecteront pour la première fois après l’importation en lot.
- Si vous importez des inscriptions à la , assurez-vous qu’il s’agit d’un type pris en charge :
email
,phone
, outotp
. - Obtenir un jeton de Management API pour les requêtes de points de terminaison des tâches.
Si vous utilisez un fichier d’exportation provenant d’un locataire Auth0, vous devez convertir le fichier exporté de
ndjson
en JSON. Pour conserver les mêmes identifiants d’utilisateur, vous devez supprimer le préfixe auth0|
de tous les identifiants importés.Le processus d’importation ajoute automatiquement le préfixe auth0|
aux identifiants d’utilisateur importés. Si vous ne supprimez pas le préfixe auth0|
avant l’importation, les identifiants sont renvoyés sous la forme auth0|auth0|...
.Créer un fichier JSON pour les utilisateurs
Créez un fichier JSON avec les données de l’utilisateur que vous souhaitez importer dans Auth0. La manière dont vous exportez les données des utilisateurs vers un fichier JSON varie en fonction de votre base de données d’utilisateurs existante. Le point de terminaison de Management API prend charge des sections du fichier JSON. Ainsi, au lieu d’utiliserfs.readFileSync
, il faut utiliser fs.createReadStream
. Le point de terminaison attend un flux de lecture en canal au lieu du fichier JSON complet.
Pour en savoir plus sur le schéma du fichier JSON et voir des exemples, consultez Schéma de la base de données d’importation en lots et exemples.
La limite de la taille des fichiers pour une importation en bloc est de 500 Ko. Vous devrez effectuer l’importation en plusieurs fois (plusieurs fichiers) si vos données dépassent cette taille.
Requête d’importation d’utilisateurs en lots
Pour lancer un travail d’importation d’utilisateurs en lots, faites une requêtePOST
au point de terminaison Créer une tâche d’importation d’utilisateurs. Veillez à remplacer les valeurs fictives MGMT_API_ACCESS_TOKEN
, USERS_IMPORT_FILE.json
, CONNECTION_ID
et EXTERNAL_ID
par votre jeton d’accès de , le fichier JSON des utilisateurs, le connection ID à la base de données et l’ID externe, respectivement.
Paramètre | Description |
---|---|
users | Fichier au format JSON contenant les utilisateurs à importer. |
connection_id | ID de la connexion à laquelle les utilisateurs seront insérés. Vous pouvez récupérer l’ID en utilisant le point de terminaison GET /api/v2/connections. |
upsert | Valeur booléenne; false par défaut. Si la valeur est false , les utilisateurs préexistants qui correspondent à l’adresse courriel, à l’ID utilisateur, au téléphone ou au nom d’utilisateur échoueront. Lorsque la valeur est définie sur true , les utilisateurs préexistants qui correspondent à l’adresse courriel seront mis à jour, mais uniquement avec des attributs pouvant être insérés ou mis à jour. Pour obtenir une liste des champs de profil utilisateur qui peuvent être modifiés lors de l’importation, veuillez consulter Structure du profil utilisateur : Attributs du profil utilisateur. Remarque : Fournir une entrée utilisateur dupliquée dans le fichier d’importation entraînera une erreur. Dans ce cas, Auth0 n’effectuera pas d’insertion suivie d’une mise à jour. |
external_id | Chaîne facultative définie par l’utilisateur et qui peut être utilisée pour corréler plusieurs tâches. Renvoyée dans le cadre de la réponse à l’état de la tâche. |
send_completion_email | Valeur booléenne; true par défaut. Lorsque la valeur est définie sur true , un courriel de confirmation est envoyé à tous les propriétaires de locataires lorsque la tâche d’importation est terminée. Si vous ne souhaitez pas que des courriels soient envoyés, vous devez définir explicitement ce paramètre sur false . |
send_completion_email
est définie sur true
, l’administrateur du locataire reçoit un courriel l’informant de l’échec ou de la réussite de la tâche. Un courriel pour un travail qui a échoué peut informer le ou les administrateurs que le fichier JSON des utilisateurs n’a pas été analysé lors de l’importation des utilisateurs.
Tâches d’importation simultanées
Le point de terminaison Créer une tâche d’importation d’utilisateurs est limité à deux tâches d’importation simultanées. Si vous demandez des tâches supplémentaires alors que deux sont en attente, vous recevrez une réponse429 Too Many Requests
:
Vérifier l’état de la tâche
Pour vérifier l’état d’une tâche, faites une requêteGET
au point de terminaison Obtenir une tâche. Assurez-vous de remplacer les valeurs fictives MGMT_API_ACCESS_TOKEN
et JOB_ID
avec votre jeton d’accès à Management API et l’ID de la tâche d’importation d’utilisateurs.
Délais d’expiration
Toutes les tâches d’importation d’utilisateurs expirent au bout de deux (2) heures. Si votre tâche n’est pas terminée pas dans ce délai, elle est marquée comme ayant échoué. De plus, toutes les données relatives à la tâche sont automatiquement supprimées au bout de 24 heures et ne peuvent plus être consultées par la suite. Pour cette raison, nous vous conseillons vivement de stocker les résultats des tâches en utilisant le mécanisme de stockage qui vous convient le mieux..Récupérer les saisies qui ont échoué
Toutes les données relatives au travail sont automatiquement supprimées au bout de 24 heures et ne peuvent plus être consultées par la suite. Pour cette raison, nous vous conseillons vivement de stocker les résultats des travaux en utilisant le mécanisme de stockage qui vous convient le mieux.
GET
au point de terminaison Obtenir le détail des erreurs de la tâche. Assurez-vous de remplacer les valeurs fictives MGMT_API_ACCESS_TOKEN
et JOB_ID
avec votre jeton d’accès à Management API et l’ID de la tâche d’importation d’utilisateurs.
hash.value
seront masqués dans la réponse.
- ANY_OF_MISSING
- ARRAY_LENGTH_LONG
- ARRAY_LENGTH_SHORT
- CONFLICT
- CONFLICT_EMAIL
- CONFLICT_USERNAME
- CONNECTION_NOT_FOUND
- DUPLICATED_USER
- ENUM_MISMATCH
- FORMAT
- INVALID_TYPE
- MAX_LENGTH
- MAXIMUM
- MFA_FACTORS_FAILED
- MIN_LENGTH
- MINIMUM
- NOT_PASSED
- OBJECT_REQUIRED
- PATTERN