Inscription personnalisée

Lorsque vous utilisez Lock ou l’API Auth0, vous pouvez personnaliser le formulaire d’inscription de l’utilisateur en ajoutant d’autres champs en plus du courriel et du mot de passe.

De nombreux facteurs sont à prendre en compte avant de choisir entre Lock et les interfaces utilisateur personnalisées. Par exemple, en utilisant Lock, vous pouvez rediriger vers une autre page pour capturer des données ou utiliser un profilage progressif. Lorsque vous utilisez l’API d’Auth0, vous pouvez capturer des champs personnalisés et les stocker dans une base de données. Il existe certaines limites à la personnalisation qui doivent être prises en compte lors du choix de la méthode la mieux adaptée à votre objectif. Parmi les personnalisations typiques, citons l’ajout d’un nom d’utilisateur et la vérification de la force du mot de passe.

Connexion universelle recommandée

Auth0 offre une option de Connexion universelle que vous pouvez utiliser plutôt que de concevoir vos propres pages de connexion ou d’inscription, ou d’utiliser celles qui sont intégrées dans les librairies Auth0. Si vous souhaitez offrir des options de connexion et d’inscription, et que vous devez seulement personnaliser le nom de l’application, le logo et la couleur d’arrière-plan, la Connexion universelle pourrait être une option plus facile à implémenter.

Utiliser Lock

Lock permet la création de champs personnalisés pour les inscriptions.

L’option additionalSignUpFields de Lock ne fonctionnera qu’avec les inscriptions par base de données. Pour les inscriptions utilisant des fournisseurs d’identité sociale, la collecte de ces champs de la même manière n’est pas possible avec Lock, mais il existe deux autres options permettant d’autoriser les inscriptions de fournisseurs d’identité sociale avec Lock tout en continuant à collecter des champs personnalisés supplémentaires.

Rediriger vers une autre page

Une façon d’utiliser les inscriptions de fournisseurs sociaux avec Lock, et de collecter des données personnalisés consiste à utiliser des règles de redirection pour conduire l’utilisateur vers une autre page où vous lui demanderez des informations supplémentaires, puis à le renvoyer pour terminer la transaction d’authentification.

Profilage progressif

Une autre façon de collecter des données personnalisées lors de l’inscription d’utilisateurs auprès de fournisseurs sociaux est le profilage progressif, qui permet d’établir progressivement des données sur le profil utilisateur au fil du temps. Vous recueillez le strict minimum de détails lors de l’inscription, mais lorsqu’un utilisateur interagit ensuite avec votre application, vous recueillez une petite quantité de données (peut-être une question) à chaque fois jusqu’à ce que son profil soit complet. Cela vous permet de collecter les informations souhaitées, mais avec moins de friction puisque l’objectif de l’utilisation d’un fournisseur d’identité social pour l’inscription est de rendre le processus plus facile et plus rationnel pour l’utilisateur.

Utiliser l’API

Créer un formulaire d’inscription pour capturer les champs personnalisés

Le name est un attribut du profil utilisateur et la color est un champ personnalisé.

Il n’existe actuellement aucun moyen de valider les champs personnalisés fournis par l’utilisateur lors de l’inscription. La validation doit être effectuée à partir d’une règle Auth0 lors de la connexion, ou à l’aide d’une logique personnalisée côté serveur dans votre application.

Envoyer les données du formulaire

Envoyez une requête POST au point de terminaison /dbconnections/signup dans Auth0.

Vous devez envoyer :

  • Le client_id de votre application.

  • Le email et password de l’utilisateur en cours d’inscription.

  • Le nom de la connection à la base de données pour stocker les données de l’utilisateur.

  • Tout attribut de profil utilisateur que vous souhaitez mettre à jour pour l’utilisateur, ce qui peut inclure given_name, family_name, name, nickname, et picture.

  • Tous les champs personnalisés faisant partie des user_metadata.

Limitations des champs personnalisés

Lorsque vos utilisateurs s’inscrivent, les champs personnalisés sont envoyés en tant que partie des user_metadata. Les limites de ce champ sont :

  • user_metadata ne doivent pas contenir plus de 10 champs

  • user_metadata.field doit être une chaîne

  • user_metadata.field.value.length doit comporter moins de 500 caractères

  • user_metadata.field.length doit comporter moins de 100 caractères

  • La limite de taille actuelle des user_metadata est de 16 Mo

Mode de redirection

Après une connexion réussie, Auth0 redirigera l’utilisateur vers l’URL de rappel configurée avec un JWT (id_token) dans la chaîne de requête.

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

Ajouter le nom d’utilisateur au formulaire d’inscription

Une personnalisation courante de l’inscription consiste à ajouter un nom d’utilisateur à l’inscription.

Pour activer cette fonctionnalité, activez le paramètre Exiger un nom d’utilisateur dans la section Connexions > Base de données du tableau de bord, sous l’onglet Paramètres, pour la connexion que vous souhaitez modifier.

Capturez le champ username dans votre formulaire personnalisé et ajoutez le username au corps de la requête.

Optionnel : Vérifier la robustesse du mot de passe

Les règles relatives aux mots de passe pour les connexions aux bases de données peuvent être configurées dans le Tableau de bord. Pour plus d’informations, consultez : Force du mot de passe dans les connexions à la base de données Auth0.

Si la mise en œuvre de formulaires d’inscription personnalisés l’exige, il est possible de récupérer les politiques de mots de passe et autres informations sur la connexion à partir de Management API v2. Le résultat peut être analysé côté client et contiendra des informations sur la ou les politiques de mot de passe actuellement configurées dans le tableau de bord pour cette connexion