> ## 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.

> Comment personnaliser le formulaire d’inscription des utilisateurs avec des champs supplémentaires à l’aide de Lock ou de l’API Auth0.

# Inscription personnalisée avec Lock ou l’API Auth0.

Vous pouvez personnaliser le formulaire d’inscription des utilisateurs en ajoutant des champs en plus du courriel et du mot de passe lorsque vous utilisez Lock ou l’API Auth0.

Il y a de nombreux facteurs à prendre en compte avant de choisir [Lock ou une interface utilisateur personnalisée](/fr-CA/docs/customize/login-pages/classic-login/customize-with-lock-sdk). Par exemple, avec Lock, vous pouvez rediriger l’utilisateur vers une autre page pour recueillir des données ou utiliser le profilage progressif. Avec l’API Auth0, vous pouvez recueillir des champs personnalisés et les stocker dans une base de données. Il existe certaines limites de personnalisation dont vous devez tenir compte au moment de choisir la méthode la mieux adaptée à vos besoins. Parmi les personnalisations courantes, mentionnons l’ajout d’un nom d’utilisateur et la vérification de la force du mot de passe.

<Card title="Universal Login recommandé">
  Auth0 offre l’option [Universal Login](/fr-CA/docs/authenticate/login/auth0-universal-login), que vous pouvez utiliser au lieu de concevoir vos propres pages de connexion ou d’inscription personnalisées, ou d’utiliser celles qui sont intégrées à l’une des bibliothèques Auth0. Si vous souhaitez offrir des options d’inscription et de connexion et que vous n’avez qu’à personnaliser le nom de l’application, le logo et la couleur d’arrière-plan, Universal Login pourrait être une option plus facile à mettre en œuvre.
</Card>

<div id="using-lock">
  ## Utiliser Lock
</div>

Lock prend en charge l’[inscription avec des champs personnalisés](/fr-CA/docs/libraries/lock/lock-configuration).

L’option `additionalSignUpFields` de Lock fonctionne uniquement avec les inscriptions par base de données. Pour les inscriptions utilisant des <Tooltip tip="fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=identity+providers">fournisseurs d’identité</Tooltip> sociaux, il n’est pas possible de recueillir ces champs de la même façon avec Lock, mais il existe deux autres options pour autoriser les inscriptions au moyen d’IdP sociaux avec Lock tout en recueillant des champs personnalisés supplémentaires.

<div id="redirect-to-another-page">
  ### Redirection vers une autre page
</div>

Pour utiliser les inscriptions via un fournisseur social avec Lock et recueillir des champs personnalisés, vous pouvez utiliser des [Rules de redirection](/fr-CA/docs/customize/rules/redirect-users) afin de rediriger l’utilisateur vers une autre page où vous lui demandez des renseignements supplémentaires, puis de le rediriger de nouveau pour terminer la transaction d’authentification.

<div id="progressive-profiling">
  ### Profilage progressif
</div>

Une autre façon de recueillir des données dans des champs personnalisés lors de l’inscription d’utilisateurs au moyen de fournisseurs d’identité sociaux consiste à utiliser le [profilage progressif](/fr-CA/docs/manage-users/user-accounts/user-profiles/progressive-profiling), ce qui vous permet d’enrichir graduellement le profil de l’utilisateur au fil du temps. Vous recueillez le strict minimum de renseignements au moment de l’inscription, puis, lorsqu’un utilisateur interagit de nouveau avec votre application, vous lui demandez chaque fois un petit supplément d’information (par exemple, une seule question) jusqu’à ce que son profil soit complet. Vous pouvez ainsi recueillir l’information souhaitée avec moins de friction, puisque l’objectif d’utiliser un IdP social pour l’inscription est de rendre l’expérience plus simple et plus fluide pour l’utilisateur.

<div id="using-the-api">
  ## Utilisation de l’API
</div>

<div id="create-a-signup-form-to-capture-custom-fields">
  ### Créer un formulaire d’inscription pour recueillir des champs personnalisés
</div>

`name` est un attribut du profil de l’utilisateur, et `color` est un champ personnalisé.

Il n’existe actuellement aucun moyen de valider les champs personnalisés fournis par l’utilisateur au moment de l’inscription. La validation doit être effectuée au moyen d’une [Rule](/fr-CA/docs/customize/rules) Auth0 lors de la connexion, ou à l’aide d’une logique personnalisée **côté serveur** dans votre application.

<div id="send-the-form-data">
  ### Envoyer les données du formulaire
</div>

Envoyez une requête POST au point de terminaison [/dbconnections/signup](https://auth0.com/docs/api/authentication/reference#signup) d’Auth0.

Vous devrez envoyer :

* Le `client_id` de votre application
* L’`email` et le `password` de l’utilisateur en cours d’inscription
* Le nom de la `connection` de base de données dans laquelle stocker les données de votre utilisateur
* Tout attribut du profil utilisateur que vous voulez mettre à jour pour l’utilisateur, notamment `given_name`, `family_name`, `name`, `nickname` et `picture`
* Tout champ personnalisé dans `user_metadata`

<div id="custom-fields-limitations">
  ## Limites des champs personnalisés
</div>

Lorsque vos utilisateurs s’inscrivent, les champs personnalisés sont envoyés dans `user_metadata`. Les limites de ce champ sont les suivantes :

* `user_metadata` ne doit pas contenir plus de 10 champs
* `user_metadata.field` doit être une chaîne de caractères
* `user_metadata.field.value.length` doit être inférieure à 500 caractères
* `user_metadata.field.length` doit être inférieure à 100 caractères
* La taille maximale actuelle de `user_metadata` est de **16 MB**

<div id="redirect-mode">
  ## Mode de redirection
</div>

Après une connexion réussie, Auth0 redirigera l’utilisateur vers l’URL de rappel configurée avec un <Tooltip tip="JWT : format standard d’ID Token (et souvent de Jeton d’accès) utilisé pour représenter des claims de façon sécurisée entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JWT">JWT</Tooltip> (`id_token`) dans la chaîne de requête.

Votre serveur devra ensuite appeler APIv2 pour ajouter les champs personnalisés nécessaires au profil de l’utilisateur.

<div id="add-username-to-the-signup-form">
  ## Ajouter un nom d’utilisateur au formulaire d’inscription
</div>

Une personnalisation courante consiste à ajouter un nom d’utilisateur au formulaire d’inscription.

Pour activer cette fonctionnalité, activez le paramètre **Requires Username** dans la section [Connections > Database](https://manage.auth0.com/#/connections/database/) de l’Auth0 Dashboard, sous l’onglet **Settings**, de la connexion que vous souhaitez modifier.

Saisissez le champ `username` dans votre formulaire personnalisé, puis ajoutez `username` au corps de votre requête.

<div id="optional-verify-password-strength">
  ## Facultatif : vérifier la force du mot de passe
</div>

Les politiques de mot de passe des connexions de base de données peuvent être configurées dans l’Auth0 Dashboard. Pour en savoir plus, consultez : [Force du mot de passe dans les connexions de base de données d’Auth0](/fr-CA/docs/authenticate/database-connections/password-strength).

Si cela est nécessaire pour implémenter des formulaires d’inscription personnalisés, les politiques de mot de passe configurées, ainsi que d’autres renseignements sur la connexion, peuvent être récupérées à l’aide de l’[API Management v2](https://auth0.com/docs/api/management/v2#!/Connections/get_connections_by_id). Le résultat peut être analysé côté client et contiendra des renseignements sur la ou les politiques de mot de passe actuellement configurées dans l’Auth0 Dashboard pour cette connexion.
