> ## 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 utilisateur avec des champs supplémentaires à l’aide de Lock ou de l’Auth0 API.

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

Vous pouvez personnaliser le formulaire d’inscription utilisateur en y ajoutant d’autres champs, en plus de l’e-mail et du mot de passe, lorsque vous utilisez Lock ou l’Auth0 API.

Il y a de nombreux facteurs à considérer avant de choisir entre [Lock et une UI personnalisée](/docs/fr-ca/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. Lorsque vous utilisez l’Auth0 API, vous pouvez recueillir des champs personnalisés et les stocker dans une base de données. La personnalisation comporte certaines limites dont il faut tenir compte au moment de choisir la méthode qui convient le mieux à vos besoins. Parmi les personnalisations courantes, on retrouve l’ajout d’un nom d’utilisateur et la vérification de la solidité du mot de passe.

<Card title="Universal Login recommandé">
  Auth0 offre une option [Universal Login](/docs/fr-ca/authenticate/login/auth0-universal-login) que vous pouvez utiliser au lieu de concevoir vos propres pages de connexion ou d’inscription, 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 besoin de personnaliser que 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 les [inscriptions avec des champs personnalisés](/docs/fr-ca/libraries/lock/lock-configuration).

L’option `additionalSignUpFields` de Lock fonctionne uniquement avec les inscriptions via Database. Pour les inscriptions qui utilisent des <Tooltip tip="Fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/docs/fr-ca/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 permettre les inscriptions avec des IdP sociaux dans Lock tout en recueillant quand même des champs personnalisés supplémentaires.

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

Une façon d’utiliser les inscriptions à l’aide d’un fournisseur d’identité sociale avec Lock et de recueillir des champs personnalisés consiste à utiliser des [règles de redirection](/docs/fr-ca/customize/rules/redirect-users) pour rediriger l’utilisateur vers une autre page afin de lui demander 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 les données de champs personnalisés lorsque les utilisateurs s’inscrivent avec des fournisseurs d’identité sociale consiste à utiliser le [profilage progressif](/docs/fr-ca/manage-users/user-accounts/user-profiles/progressive-profiling), qui vous permet d’enrichir progressivement les données du profil utilisateur au fil du temps. Vous recueillez le strict minimum de renseignements au moment de l’inscription, puis, lorsque l’utilisateur interagit de nouveau avec votre application, vous recueillez chaque fois une petite quantité de données (peut-être une seule question) jusqu’à ce que son profil soit complet. Cela vous permet de recueillir l’information souhaitée en réduisant la 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 saisir des champs personnalisés
</div>

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

À l’heure actuelle, il n’existe aucun moyen de valider les champs personnalisés fournis par l’utilisateur au moment de l’inscription. La validation doit être effectuée à la connexion à l’aide d’une Auth0 [Rule](/docs/fr-ca/customize/rules), ou au moyen 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) dans 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 souhaitez mettre à jour, 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`. Voici les limites de ce champ :

* `user_metadata` ne doit pas contenir plus de 10 champs
* `user_metadata.field` doit être de type `string`
* `user_metadata.field.value.length` doit être inférieur à 500 caractères
* `user_metadata.field.length` doit être inférieur à 100 caractères
* La limite de taille 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 que vous avez configurée avec un <Tooltip tip="JSON Web Token (JWT) : format standard des ID Token (et souvent des jetons d’accès), utilisé pour représenter des claims de façon sécurisée entre deux parties." cta="Voir le glossaire" href="/docs/fr-ca/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 à l’inscription.

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

Recueillez 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 solidité du mot de passe
</div>

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

Au besoin, pour la mise en œuvre de 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és à partir 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 politique de mot de passe actuelle (ou les politiques) configurée dans le Dashboard pour cette connexion.
