- MongoDB
- MySQL
- PostgreSQL
- Microsoft SQL Server
- ASP.NET Identity
- Services Web accessibles avec authentification Basic
Instructions
Prérequis
- Votre référentiel d’utilisateurs externe doit être accessible à partir des serveurs d’Auth0. S’il se trouve derrière un pare-feu, autorisez le trafic entrant provenant des adresses IP sortantes d’Auth0.
-
Votre référentiel d’utilisateurs externe doit comporter les champs nécessaires pour stocker les attributs du profil utilisateur normalisé, comme
id,nickname,emailetpassword. -
La valeur
id(ouuser_id) renvoyée par vos scripts d’action de base de données doit être unique parmi toutes les connexions de base de données personnalisées, car Auth0 utilise cette valeur pour identifier les utilisateurs. Pour éviter les collisions d’ID utilisateur lorsque vous utilisez plusieurs connexions de base de données personnalisées, nous vous recommandons de préfixer les valeursidpar le nom de la connexion (sans les espaces).
Créer la connexion à la base de données personnalisée
Dans Auth0 Dashboard > Authentification > Base de données, sélectionnez + Créer une connexion de base de données. Dans la page Nouvelle connexion de base de données, entrez la configuration suivante.
-
Entrez un nom qui doit :
- Contenir uniquement des caractères alphanumériques et des tirets.
- Commencer et se terminer par un caractère alphanumérique.
- Ne pas dépasser 35 caractères.
- Choisissez un ou plusieurs attributs comme identifiants d’utilisateur.
- Choisissez une ou plusieurs méthodes d’authentification (comme les mots de passe ou les clés d’accès).
- Activez la bascule Utiliser ma propre base de données.
Rédiger des scripts d’action de base de données
Une fois votre connexion de base de données personnalisée créée, vous devez écrire des scripts d’action de base de données pour définir comment Auth0 interagit avec votre magasin d’utilisateurs externe pour des fonctionnalités telles que la connexion, l’inscription, la vérification de l’adresse courriel, la réinitialisation de mot de passe et la suppression d’utilisateurs.Au minimum, vous devez implémenter un script Login :
- Dans la page de la connexion de base de données, sélectionnez l’onglet Custom Database.
- Dans la section Database Action Scripts, sélectionnez Login.
-
Écrivez votre propre script d’action de base de données à l’aide de la signature de fonction fournie, ou utilisez le menu déroulant Load Template pour sélectionner un modèle de départ.
Exemple de script d’action Login pour MySQL
Par exemple, le modèle de script d’action Login pour MySQL se présente comme suit :Cet exemple suppose que la base de données contient une tableLogin database action script template for MySQLusersavec les colonnes appropriées. Le script se connecte à la base de données, utilise une requête pour récupérer le premier utilisateur dontemail == user.email, valide le mot de passe saisi avecbcrypt.compareet, en cas de réussite, renvoie un objet contenant les renseignements du profil utilisateur (y comprisid,nicknameetemail).
callback fournie par Auth0, immédiatement avant de se terminer (implicitement ou explicitement au moyen d’une instruction return).Ajouter des paramètres de configuration (facultatif)
Dans la section Paramètres de configuration (sous Scripts d’action de base de données), vous pouvez stocker des valeurs accessibles à tous les scripts d’action de base de données dans l’objet global Traitez l’objet
configuration.Les valeurs sont chiffrées. Vous pouvez donc également utiliser les paramètres de configuration pour stocker des renseignements sensibles, tels que des identifiants ou des clés API permettant d’accéder à des répertoires d’identités externes, ou pour définir des variables contenant des valeurs propres au tenant.Pour reprendre l’exemple MySQL précédent, si vous ajoutez la Clé MYSQL_PASSWORD et définissez comme Valeur le mot de passe MySQL, vous pouvez utiliser ce paramètre de configuration pour vous connecter :MySQL connection configuration parameter example
configuration comme étant en lecture seule et utilisez-le pour éviter d’intégrer des valeurs en dur dans vos scripts d’action.Tester et enregistrer le script d’action de la base de données
- Pour tester votre script d’action de base de données, sélectionnez Enregistrer et essayer au-dessus du bloc de code.
-
Dans la fenêtre Essayer le script de connexion qui s’ouvre, saisissez les identifiants de l’utilisateur à utiliser pour le test.

- Sélectionnez Essayer pour ouvrir le sélecteur d’environnement d’exécution. Choisissez l’environnement d’exécution dans lequel exécuter le script.
Étapes suivantes
Activer la migration automatique
Activer le contexte de l’organisation
id, name et metadata, accessibles à vos scripts d’action de base de données en activant l’objet context.
Cette opération transmet un argument context supplémentaire aux scripts de bases de données personnalisées, qui contient les données de l’organisation. Par exemple, lorsqu’un utilisateur s’authentifie à partir de l’invite de connexion d’une organisation, le script d’action de base de données Login reçoit cet argument.
Vous ne pouvez pas désactiver l’objet
context après l’avoir activé.context :
- Accédez à Auth0 Dashboard > Authentification > Base de données et sélectionnez votre connexion de base de données.
- Sélectionnez l’onglet Base de données personnalisée.
- À côté de Objet context dans les scripts de base de données, sélectionnez Activer.
- Dans la fenêtre Êtes-vous absolument certain ? qui s’ouvre, sélectionnez Confirmer.
context à vos scripts d’action de base de données. Ce paramètre précède directement le paramètre callback. Par exemple, dans la signature de fonction du script Login :
Original Login script function signature
Login script function signature with the context object
context contient les données relatives à l’Organization au format suivant :
context vide est toujours transmis.
Limites et considérations
- Auth0 n’assainit ni ne valide aucune combinaison de nom d’utilisateur et de mot de passe transmise par une base de données personnalisée.
- Les scripts d’action de base de données sont assujettis à la politique de limitation du débit d’Auth0.