> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Découvrez les pratiques exemplaires concernant la structure des connexions de base de données personnalisées.

# Pratiques exemplaires concernant la structure des connexions de base de données personnalisées

Vous utilisez généralement une connexion de base de données personnalisée pour donner accès à votre propre magasin d’identités hérité à des fins d’authentification (parfois appelée **authentification héritée**) ou pour [effectuer l’importation d’utilisateurs au moyen de la migration automatique](/fr-CA/docs/manage-users/user-migration/configure-automatic-migration-from-your-database) (souvent appelée migration **trickle** ou **lazy**). Vous pouvez aussi utiliser des connexions de base de données personnalisées pour servir d’intermédiaire vers un locataire Auth0 dans les scénarios où vous utilisez une architecture Auth0 multilocataire. Pour en savoir plus, consultez [Pratiques exemplaires pour les applications multilocataires](/fr-CA/docs/get-started/auth0-overview/create-tenants/multi-tenant-apps-best-practices).

Vous créez et configurez généralement des connexions de base de données personnalisées à l’aide du <Tooltip tip="Auth0 Dashboard : produit principal d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>. Vous créez une connexion de base de données, puis activez **Use my own database** pour permettre la modification des scripts d’action de la base de données. Une connexion de base de données personnalisée peut aussi être créée et configurée au moyen du <Tooltip tip="Management API : produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Management+API">Management API</Tooltip> d’Auth0, du point de terminaison [Create a connection endpoint](https://auth0.com/docs/api/management/v2#!/Connections/post_connections) et de la stratégie `auth0`.

<Frame>
  <img src="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/11HPAdVwJMmnWbzMVjHCJ8/f75ff47f613a41778f266643f29ab2b1/2025-02-27_17-25-36.png?fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=76c3491d5dc990e888f5fcaa90412e7d" alt="Auth0 Dashboard Authentification Base de données Connexion Base de données personnalisée Paramètres Utiliser ma propre base de données Activé" width="799" height="408" data-path="docs/images/cdy7uua7fh8z/11HPAdVwJMmnWbzMVjHCJ8/f75ff47f613a41778f266643f29ab2b1/2025-02-27_17-25-36.png" />
</Frame>

Comme illustré ci-dessous, vous utilisez des connexions de base de données personnalisées dans le cadre d’un flux de connexion afin d’obtenir les renseignements d’identité de l’utilisateur à partir de votre propre magasin d’identités hérité pour l’authentification ou l’importation d’utilisateurs.

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1H2Ky1WyPlZ9zHZrEVlFhP/4e4856395fac6d6339c883c35d4b4ac0/custom-database-connections.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=744b7f7fbe6c80cb5e64a7548ed1c7f4" alt="Flux de connexion de base de données personnalisée" width="459" height="512" data-path="docs/images/cdy7uua7fh8z/1H2Ky1WyPlZ9zHZrEVlFhP/4e4856395fac6d6339c883c35d4b4ac0/custom-database-connections.png" />
</Frame>

En plus des éléments communs à tous les types de connexions de base de données, une connexion de base de données personnalisée vous permet de configurer des scripts d’action, c’est-à-dire du code personnalisé utilisé pour interagir avec des magasins d’identités hérités. Les scripts que vous choisissez de configurer dépendent du fait que vous créez une connexion pour l’authentification héritée ou pour la migration automatique.

Les scripts d’action peuvent être implémentés sous forme de fonctions anonymes; toutefois, les fonctions anonymes rendent le débogage difficile lorsqu’il faut interpréter la pile d’appels générée à la suite d’erreurs exceptionnelles. Pour plus de commodité, nous vous recommandons de donner un nom de fonction à chaque script d’action. Pour voir quelques noms recommandés, consultez [Pratiques exemplaires d’exécution des scripts d’action de base de données personnalisée](/fr-CA/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/execution).

Dans un scénario d’authentification héritée, aucun nouvel enregistrement d’utilisateur n’est créé; l’utilisateur demeure dans le magasin d’identités hérité et Auth0 utilise l’identité qu’il contient lors de l’authentification de l’utilisateur. Les connexions de base de données personnalisées sont aussi utilisées en dehors du flux <Tooltip tip="Universal Login : votre application redirige vers Universal Login, hébergé sur le serveur d’autorisation d’Auth0, pour vérifier l’identité d’un utilisateur." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Universal+Login">Universal Login</Tooltip>. Par exemple, le script d’action `changePassword` d’une connexion est appelé lorsqu’une opération de changement de mot de passe est effectuée pour un utilisateur qui se trouve dans un magasin d’identités hérité.

<div id="automatic-migration">
  ## Migration automatique
</div>

Lors d’une migration automatique, Auth0 crée un nouvel utilisateur dans un magasin d’identités (base de données) géré par Auth0. Auth0 utilise l’identité stockée dans ce magasin d’identités géré par Auth0 pour authentifier l’utilisateur. Pour que cela se produise, Auth0 exige d’abord que l’utilisateur soit authentifié auprès du magasin d’identités hérité; ce n’est que si cette authentification réussit que le nouvel utilisateur est créé dans la base de données gérée par Auth0. Auth0 crée ce nouvel utilisateur à l’aide du même id et du même mot de passe que ceux fournis lors de l’authentification.

Dans un scénario de migration automatique, la création de l’utilisateur se produit généralement une fois le script d’action Login terminé. Nous vous recommandons de ne pas tenter de supprimer des utilisateurs du magasin d’identités hérité au moyen d’une opération inline dans le script Login, mais plutôt dans le cadre d’un processus distinct. Cela permet d’éviter la suppression accidentelle d’utilisateurs si une erreur survient pendant la migration.

Avec la migration automatique, les utilisateurs demeurent dans le magasin d’identités hérité et peuvent être supprimés ou archivés au besoin. Un effet secondaire peut se produire lorsqu’un utilisateur est supprimé d’Auth0, mais demeure dans l’ancien magasin de données. Dans ce cas, une connexion effectuée par l’utilisateur supprimé pourrait entraîner l’exécution du script Login ou Get User, et l’utilisateur serait de nouveau migré depuis le magasin d’identités hérité.

Nous recommandons de marquer les identités des utilisateurs du magasin hérité comme migrées avant la fin des scripts Login ou Get User, et avant toute suppression éventuelle dans le magasin hérité, afin d’empêcher la recréation involontaire d’utilisateurs supprimés intentionnellement.

<div id="size">
  ## Taille
</div>

Nous recommandons que la taille totale d’un script d’action ne dépasse pas 100 Ko. Plus cette taille est grande, plus le processus d’empaquetage et de transport utilisé par la plateforme Auth0 introduit de la latence, ce qui aura une incidence sur les performances de votre système. Notez que la limite de 100 Ko n’inclut aucun module `npm` référencé dans une instruction `require`.

<div id="learn-more">
  ## En savoir plus
</div>

* [Pratiques exemplaires pour la sécurité des connexions de base de données personnalisées](/fr-CA/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/connection-security)
* [Pratiques exemplaires pour l’exécution des scripts d’action de base de données personnalisés](/fr-CA/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/execution)
* [Pratiques exemplaires pour l’environnement des scripts d’action de base de données personnalisés](/fr-CA/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/environment)
