Skip to main content
Le script Create exécute la fonction définie lorsqu’un utilisateur est créé. Nous recommandons de nommer cette fonction create. Ce script est facultatif. S’il est activé, lorsqu’un utilisateur s’inscrit par l’entremise de ou est créé au moyen de l’ ou d’Auth0 , Auth0 exécute le script pour créer un enregistrement utilisateur correspondant dans la base de données externe. Lorsqu’un utilisateur est créé dans Auth0, Auth0 appelle une série de scripts :
  1. Get User : vérifie que l’utilisateur n’existe pas déjà dans Auth0 ou dans la base de données externe.
  2. Create : crée l’utilisateur dans la base de données externe.
  3. Login : vérifie que l’utilisateur a bien été créé.

Fonction create

La fonction create doit :
  • Envoyer les données de profil de l’utilisateur à l’API de la base de données externe.
  • Renvoyer une erreur si l’opération de création de l’utilisateur a échoué.

Définition

La fonction create prend deux paramètres et renvoie une fonction callback :

Exemple

Voici un exemple en pseudo-JavaScript montrant comment vous pourriez implémenter la fonction create. Pour des exemples propres à un langage particulier, consultez Exemples de scripts propres à un langage.

Chiffrement

Évitez de consigner, de stocker ou de transmettre le mot de passe sous forme non chiffrée, où que ce soit.
Chiffrez la valeur du mot de passe à l’aide d’une bibliothèque de hachage cryptographique telle que bcrypt afin d’éviter toute fuite potentielle de données.

Exemple

Fonction de rappel

La fonction callback accepte un paramètre et renvoie une fonction.

Définition

Retourner une réussite

Si l’opération de création de l’utilisateur a réussi, retournez la fonction callback et transmettez une valeur null pour le paramètre error.

Exemple

Renvoyer une erreur

Si une erreur se produit, appelez la fonction de rappel et transmettez les renseignements pertinents sur l’erreur au paramètre error.

Objet du type ValidationError

L’objet d’erreur personnalisée de type ValidationError vous permet de transmettre des données qui seront affichées dans les journaux du locataire.
Constructeur
Le constructeur ValidationError accepte jusqu’à deux paramètres :

Retourner une erreur indiquant que l’utilisateur existe déjà

Si vous retournez une erreur avec la valeur user_exists pour le paramètre errorCode, Auth0 enregistrera un événement de journal fs pour le locataire.
Exemple

Paramètre de l’objet utilisateur

Le paramètre d’objet user contient un ensemble prédéfini de propriétés issues du processus de création de l’utilisateur :

Propriété username

Si le paramètre nom d’utilisateur requis est activé pour votre connexion de base de données personnalisée, les scripts Login et Get User doivent prendre en charge la propriété username; vous devez donc la stocker dans votre base de données externe.

Métadonnées de l’utilisateur et de l’application

Les propriétés user_metadata et app_metadata n’ont pas besoin d’être stockées dans votre base de données externe. Auth0 stocke automatiquement ces valeurs dans l’enregistrement du profil utilisateur créé en interne.

Champs d’inscription personnalisés

Si vous créez et utilisez des champs personnalisés lors de l’inscription, ils seront inclus dans l’objet user.

Exemple

Exemples de scripts par langage

Auth0 fournit des scripts d’exemple pour les langages/technologies suivants :

JavaScript

ASP.NET Membership Provider (MVC3 - fournisseurs universels)

ASP.NET Membership Provider (MVC4 - Simple Membership)

MongoDB

MySQL

PostgreSQL

SQL Server

Base de données SQL de Windows Azure

Requête avec authentification Basic Auth

Dépannage

Si vous ne parvenez pas à créer un utilisateur dans votre base de données héritée ou dans Auth0 :
  1. Vérifiez les messages console.log() dans les journaux en temps réel d’Actions.
  2. Trouvez l’utilisateur dans votre base de données héritée et supprimez-le au besoin. Si un état utilisateur partiel se trouve dans Auth0, utilisez le point de terminaison Delete a User ou Delete a Connection User de la Management API.
  3. Assurez-vous que Import Mode est désactivé, puis configurez le script de création.

En savoir plus