Skip to main content
Le script Login implémente la fonction exécutée chaque fois qu’un utilisateur doit s’authentifier. Nous vous 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 connexion réussie de l’utilisateur. 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 informations d’identification fournies de l’utilisateur à l’API de la base de données externe.
  • Retourner les données de 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 de rappel :

Exemple

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

Chiffrement

Évitez de journaliser, de stocker ou de transmettre le mot de passe sous une forme non chiffrée, où que ce soit.
Chiffrez la valeur password à 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 sert à transmettre les données de profil de l’utilisateur ou les données d’erreur au sein du pipeline.

Définition

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

Retourner le profil de l’utilisateur

Les données de profil renvoyées par le script Login pour un utilisateur doivent être cohérentes avec celles 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. En plus des champs standard, vous pouvez inclure les champs user_metadata, app_metadata et mfa_factors.

Exemple

Renvoyer une erreur

Si une erreur se produit, le paramètre error doit contenir les renseignements pertinents sur le problème survenu.

Objet du type WrongUsernameOrPasswordError

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

Retourner une erreur avec un nom d’utilisateur ou un courriel

Si vous retournez une erreur contenant une valeur pour le champ userNameOrEmail, Auth0 consignera un événement de journal du locataire fp.
Exemple

Retourner une erreur sans nom d’utilisateur ni courriel

Si vous retournez une erreur avec une valeur null pour le champ userNameOrEmail, Auth0 consignera un événement de journal du locataire fu.
Exemple

Synchroniser les attributs du profil de l’utilisateur à chaque connexion

Activez le paramètre Sync user profile attributes at each login 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 seront conservées aux connexions suivantes, même si elles ont changé dans la base de données externe.

Exemples de scripts par langage

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

JavaScript

ASP.NET Membership Provider (MVC3 - Universal Providers)

ASP.NET Membership Provider (MVC4 - Simple Membership)

MongoDB

MySQL

PostgreSQL

SQL Server

Windows Azure SQL Database

Axios

Stormpath

Pour en savoir plus