Skip to main content
Le script Login implémente la fonction exécutée chaque fois qu’un utilisateur doit s’authentifier. Nous recommandons de nommer cette fonction login. Ce script est requis à la fois pour l’authentification héritée et pour la migration automatique. Si la migration automatique est configurée pour la connexion, le processus de migration se déclenche après la première fois que l’utilisateur se connecte avec succès. Auth0 recommande de définir un user_id permanent dans le profil utilisateur renvoyé afin d’éviter la création d’utilisateurs en double.

Fonction Login

La fonction login doit :
  • Envoyer les identifiants de l’utilisateur fournis à l’API de la base de données externe.
  • Retourner les données du profil de l’utilisateur si l’authentification réussit.
  • Retourner une erreur si l’authentification échoue.

Définition

La fonction login accepte trois paramètres et renvoie une fonction callback :
Voici un exemple en pseudo-JavaScript montrant comment implémenter la fonction login :

Chiffrement

Hachez la valeur password à l’aide d’une bibliothèque de hachage cryptographique telle que bcrypt afin d’éviter toute fuite de données. Évitez de consigner, de stocker ou de transmettre le mot de passe sous sa forme non chiffrée. Par exemple :

Fonction de rappel

La fonction callback sert à transmettre les données du profil utilisateur ou les données d’erreur dans le pipeline.

Définition

La fonction callback accepte jusqu’à deux paramètres et renvoie une fonction :

Renvoyer le profil de l’utilisateur

Les données de profil renvoyées par le script Login pour un utilisateur doivent être cohérentes avec les données de profil renvoyées par le script Get User.
Si l’utilisateur s’authentifie avec succès, ses données de profil doivent être renvoyées dans l’objet profile sous forme normalisée. Par exemple :

Objet de type d’erreur personnalisé WrongUsernameOrPasswordError

L’objet de type d’erreur personnalisé WrongUsernameOrPasswordError vous permet de transmettre des données qui seront affichées dans vos journaux du tenant. Le constructeur WrongUsernameOrPasswordError accepte jusqu’à deux paramètres :
En plus des champs standards, vous pouvez inclure les champs user_metadata, app_metadata et mfa_factors.

Renvoyer une erreur

En cas d’erreur, le paramètre error doit contenir des renseignements pertinents sur ce qui s’est mal passé. Par exemple, vous pouvez renvoyer une erreur associée à une valeur du champ userNameOrEmail
Dans ce cas, Auth0 consigne un événement fp dans le journal du tenant. Vous pouvez également renvoyer une erreur avec la valeur null pour le champ userNameOrEmail :
Dans ce cas, Auth0 enregistre un événement fu dans le journal du tenant.

Synchroniser les attributs du profil utilisateur à chaque connexion

Activez le paramètre Synchroniser les attributs du profil utilisateur à chaque connexion si vous voulez qu’Auth0 mette à jour les champs name, nickname, given_name, family_name et/ou picture avec les valeurs renvoyées par la base de données externe à chaque connexion. Si vous n’activez pas ce paramètre, les valeurs renvoyées par la base de données externe lors de la première connexion de l’utilisateur resteront enregistrées pour les connexions suivantes, même si elles ont changé dans la base de données externe.

Exemples de scripts par langage

Auth0 fournit des exemples de scripts pour les langages et technologies suivants :