Le contenu de ces documents ne constitue pas un avis juridique et ne doit pas non plus être considéré comme une solution de rechange à une assistance juridique. Il vous incombe en dernier ressort de comprendre le GDPR et de vous y conformer, bien qu’Auth0 vous aide, dans la mesure du possible, à respecter ses exigences.
Vue d’ensemble
consentGiven(true/false) indique si l’utilisateur a donné son consentement (true) ou non (false)consentTimestamp(horodatage Unix) indique à quel moment l’utilisateur a donné son consentement
- une qui affiche un indicateur, fonctionne avec les connexions de base de données et utilise la bibliothèque auth0.js pour créer l’utilisateur (utilisée par les applications monopage). Pour en savoir plus, consultez la référence d’Auth0.js.
- une qui affiche un indicateur, fonctionne avec les connexions de base de données et utilise l’Authentication API pour créer l’utilisateur (utilisée par les applications Web traditionnelles)
- une qui affiche un indicateur, fonctionne avec les connexions sociales et utilise la Management API pour mettre à jour les renseignements de l’utilisateur (utilisée aussi bien par les SPA que par les applications Web traditionnelles)
- une qui redirige vers une autre page où les Conditions générales et/ou la politique de confidentialité peuvent être consultées et où les renseignements sur le consentement peuvent être fournis (utilisée aussi bien par les SPA que par les applications Web traditionnelles)
Option 1 : Utiliser auth0.js
-
Accédez à Auth0 Dashboard > Applications > Applications et créez une nouvelle application. Choisissez
Single Web Page Applicationscomme type. Accédez à Settings et définissez Allowed Callback URLs surhttp://localhost:3000. Ce champ contient l’ensemble des URL vers lesquelles Auth0 est autorisé à rediriger les utilisateurs après leur authentification. Notre exemple d’application s’exécutera àhttp://localhost:3000, donc nous définissons cette valeur. - Copiez les valeurs Client Id et Domain. Vous en aurez besoin sous peu.
- Accédez à Auth0 Dashboard > Authentication > Database et créez une nouvelle connexion. Cliquez sur Create DB Connection, donnez un nom à la nouvelle connexion, puis cliquez sur Save. Accédez à l’onglet Applications de la connexion et assurez-vous que votre application nouvellement créée est activée.
- Téléchargez l’exemple JavaScript SPA.
- Définissez les valeurs de Client ID et Domain.
- Accédez à Auth0 Dashboard > Branding > Universal Login. Dans l’onglet Login, activez le bouton bascule.
-
Dans la liste déroulante Default Templates, assurez-vous que
Custom Login Formest sélectionné. Le code est prérempli pour vous. -
Définissez la valeur de la variable
databaseConnectionsur le nom de la connexion de base de données utilisée par votre application. -
Pour ajouter un champ pour les métadonnées
consentGiven, ajoutez une case à cocher au formulaire. Dans notre exemple, nous configurerons la case à cocher pour qu’elle soit cochée par défaut et désactivée, afin que l’utilisateur ne puisse pas la décocher. Vous pouvez ajuster cela selon les besoins de votre entreprise. -
Modifiez la fonction d’inscription afin de définir les métadonnées. Notez que nous définissons la valeur des métadonnées comme une chaîne ayant la valeur
true, et non comme une valeur booléenne, et que nous utilisonstoStringpour convertir le nombre en chaîne. Cela est dû à une restriction de l’endpoint Signup de l’Authentication API, qui n’accepte que des chaînes comme valeurs. - Pour voir à quoi ressemblera le widget de connexion, cliquez sur l’onglet Preview.

- Pour tester cette configuration, exécutez l’application et accédez à
http://localhost:3000. Créez un compte avec un nouvel utilisateur. Ensuite, accédez à Auth0 Dashboard > User Management > Users et recherchez ce nouvel utilisateur. Ouvrez User Details et faites défiler jusqu’à la section Metadata. Dans la zone de texte user_metadata, vous devriez voir la métadonnéeconsentGivendéfinie àtrue.
Option 2 : Utiliser l’API (base de données)
consentTimestamp par l’horodatage correspondant au moment où l’utilisateur a donné son consentement.
Notez que nous définissons la valeur des métadonnées comme une chaîne de caractères ayant la valeur true, et non comme une valeur booléenne, en raison de la restriction de l’API, qui accepte des chaînes de caractères comme valeurs, et non des booléens.
Si vous devez utiliser des valeurs booléennes, vous pouvez plutôt utiliser la . Dans ce scénario, vous inscrivez votre utilisateur comme d’habitude, puis vous effectuez une requête vers l’point de terminaison Update User de la Management API pour définir les métadonnées requises une fois l’utilisateur créé. Pour savoir comment faire, poursuivez votre lecture : le paragraphe suivant utilise ce point de terminaison.
Si vous utilisez des connexions sociales, vous ne pouvez pas utiliser l’Authentication API pour créer l’utilisateur dans Auth0, puisque ce point de terminaison fonctionne uniquement pour les connexions de base de données.
Vous devez plutôt laisser l’utilisateur s’inscrire auprès du fournisseur social (ce qui créera un enregistrement utilisateur dans Auth0), puis utiliser la Management API pour mettre à jour les renseignements de l’utilisateur.
Avant d’appeler la Management API, vous devez obtenir un jeton valide. Pour en savoir plus, consultez Get Management API Access Tokens for Production.
L’article lié utilise le Client Credentials Flow pour obtenir un jeton, mais vous ne pouvez pas l’utiliser à partir d’une application exécutée dans le navigateur. Vous pouvez plutôt utiliser l’Implicit Flow. Pour en savoir plus sur le Client Credentials Flow, consultez Client Credentials Flow. Pour en savoir plus sur l’Implicit Flow, consultez Implicit Flow.
Définissez le paramètre de requête à https://YOUR_DOMAIN/api/v2/ et le paramètre scope sur la portée create:current_user_metadata. Vous pouvez utiliser le que vous recevrez dans la réponse pour appeler le point de terminaison Update User de la Management API.
Une fois que vous avez un jeton valide, utilisez l’extrait suivant pour mettre à jour les métadonnées de l’utilisateur.
Notez que, pour effectuer cette requête, vous devez connaître le user_id unique. Vous pouvez l’obtenir à partir de la revendication sub du , si vous en avez reçu un dans la réponse. Pour en savoir plus, consultez ID Tokens. Autrement, si vous n’avez que l’adresse courriel, vous pouvez récupérer l’ID en envoyant une requête à un autre point de terminaison de la Management API. Pour en savoir plus, consultez Pratiques exemplaires de User Search.
Option 4 : Rediriger vers une autre page
-
Ajoutez la règle de redirection. Accédez à Auth0 Dashboard > Auth Pipeline > Rules, puis cliquez sur Create Rule. Dans Rules Templates, sélectionnez empty rule. Remplacez le nom par défaut de la règle,
empty rule, par un nom plus descriptif (par exemple,Redirect to consent form). -
Ajoutez le code Javascript suivant dans l’éditeur de script, puis cliquez sur Save pour enregistrer vos modifications.
-
Retournez à Auth0 Dashboard > Auth0 Pipeline > Rules, puis faites défiler jusqu’au bas de la page, à la section Settings. Créez une paire clé-valeur comme suit :
- Clé :
CONSENT_FORM_URL - Valeur :
your-consent-form-url.com
- Clé :
Testez la configuration
- Exécutez l’application et allez à
https://localhost:3000. - Créez un compte avec un nouvel utilisateur. Vous serez redirigé vers le formulaire de consentement.
- Cochez la case I agree, puis cliquez sur Submit.
- Allez à Auth0 Dashboard > User Management > Users, puis recherchez votre nouvel utilisateur.
- Allez à User Details, puis faites défiler jusqu’à la section Metadata.
- Dans la zone de texte user_metadata, vous devriez voir la métadonnée
consentGivendéfinie àtrueet la valeurconsentTimestampdéfinie à l’horodatage Unix du moment où l’utilisateur a donné son consentement.