Skip to main content
Conformément à l’article 7 du RGPD, vous devez demander aux utilisateurs de consentir au traitement de leurs données personnelles de façon claire et facilement accessible. Vous devez également être en mesure de démontrer que l’utilisateur a donné son consentement et offrir un moyen simple de le retirer en tout temps. Cet article explique comment utiliser les fonctionnalités d’Auth0 pour mettre en œuvre ces exigences.
Le contenu de ces documents ne constitue pas un avis juridique et ne doit pas non plus être considéré comme un substitut à une assistance juridique. Il vous incombe en dernier ressort de comprendre le RGPD et de vous y conformer, bien qu’Auth0 vous aide, dans la mesure du possible, à respecter les exigences du RGPD.
Lors de l’inscription, vous devez obtenir le consentement de vos utilisateurs. Avec Auth0, vous pouvez enregistrer cette information dans les métadonnées de l’utilisateur. Plusieurs options sont offertes selon la façon dont vous utilisez Auth0 pour authentifier vos utilisateurs. Avant de concevoir votre solution à l’aide des métadonnées, assurez-vous de connaître les restrictions. Auth0 limite la taille totale de user_metadata à 16 MB. Pour en savoir plus, consultez Noms de champs et types de données des métadonnées.
Les métadonnées d’Auth0 ne constituent pas un stockage de données sécurisé et ne doivent pas être utilisées pour stocker des informations sensibles, comme des secrets à haut risque et des renseignements personnels (PII), tels que les numéros d’assurance sociale ou de carte de crédit. Auth0 recommande fortement à ses clients d’évaluer les données stockées dans les métadonnées et de n’y conserver que celles qui sont nécessaires aux fins de la gestion des identités et des accès.

Utiliser Lock

Vous pouvez personnaliser l’interface Lock UI pour afficher des liens vers vos pages de conditions générales et/ou d’énoncé de confidentialité, ainsi qu’une case de consentement que l’utilisateur doit cocher pour pouvoir s’inscrire. Pour ce faire, utilisez l’option Lock mustAcceptTerms. Lorsque cette propriété est définie sur true, une case à cocher s’affiche à côté des conditions générales et doit être cochée avant l’inscription. Les conditions générales peuvent être précisées à l’aide de l’option languageDictionary. Pour en savoir plus, consultez Options de configuration de Lock. Une fois que l’utilisateur a accepté et qu’il s’est inscrit, enregistrez les renseignements sur le consentement dans user_metadata à l’aide d’une règle qui s’exécutera lors de la première connexion. Pour en savoir plus sur les règles, consultez Auth0 Rules. Si vous souhaitez obtenir plus d’information de la part des utilisateurs pendant l’inscription et que vous les authentifiez au moyen d’une connexion de base de données, vous pouvez ajouter des champs personnalisés à l’interface Lock UI. Pour ce faire, utilisez l’option Lock additionalSignUpFields. Tous les champs personnalisés sont automatiquement ajoutés à user_metadata. Si vous utilisez des connexions sociales, il n’est pas possible d’ajouter des champs personnalisés, mais vous pouvez rediriger l’utilisateur vers une autre page pour lui demander son consentement et tout renseignement supplémentaire, puis le rediriger pour terminer la transaction d’authentification. Cela peut se faire avec des règles de redirection. Pour en savoir plus, consultez Rediriger les utilisateurs à partir des règles. Une fois le processus d’inscription terminé, enregistrez les renseignements sur le consentement dans user_metadata en appelant le point de terminaison Update User. Pour savoir comment mettre en œuvre l’un de ces scénarios, consultez GDPR : consigner le consentement avec Lock.

Utiliser une interface utilisateur personnalisée

Si vous utilisez un formulaire d’inscription personnalisé avec une connexion de base de données, vous devez ajouter un champ supplémentaire à l’écran d’inscription afin de recueillir le consentement de l’utilisateur. Ensuite, appelez le point de terminaison Signup de l’Authentication API afin de créer l’utilisateur dans Auth0. À cette étape, vous pouvez enregistrer les renseignements sur le consentement dans le user_metadata. Autrement, si vous utilisez auth0.js à partir d’une SPA, vous pouvez utiliser la méthode signup afin de créer l’utilisateur dans Auth0 et enregistrer les renseignements sur le consentement dans le user_metadata. Si vous utilisez un formulaire d’inscription personnalisé avec des fournisseurs d’identité sociale, vous ne pouvez pas enregistrer les renseignements sur le consentement de l’utilisateur au moment de l’inscription, mais vous pouvez les mettre à jour dès que l’utilisateur est créé. Enregistrez les renseignements sur le consentement dans le user_metadata en appelant le point de terminaison Update User de la Management API. Pour savoir comment mettre en œuvre l’un ou l’autre de ces scénarios, consultez GDPR : Suivre le consentement avec une interface utilisateur personnalisée. Si vous devez demander le consentement d’utilisateurs existants et que vous décidez de migrer vos utilisateurs d’une base de données existante vers Auth0, vous pouvez utiliser notre fonctionnalité de migration automatique des utilisateurs. En l’activant, chaque fois qu’un utilisateur ouvrira une session pour la première fois (depuis son activation), son compte sera créé dans Auth0 sans qu’il ait à réinitialiser son mot de passe. Pour ce faire, vous devez :
  • Rédiger l’avis que les utilisateurs verront expliquant comment leurs données sont utilisées, pendant combien de temps elles le seront, quels sont leurs droits, etc., ainsi que personnaliser la fenêtre d’inscription de l’interface utilisateur.
  • Déterminer si vous devez obtenir de nouveau le consentement de vos utilisateurs, selon vos anciennes conditions générales et vos certifications antérieures en matière de protection de la vie privée.
Notez que chaque fois que vos conditions générales changent, vous devez redemander le consentement des utilisateurs. Selon le RGPD, vous devriez être en mesure de démontrer que l’utilisateur a consenti au traitement de ses données personnelles. Avec Auth0, vous pouvez enregistrer les informations de consentement de l’utilisateur dans le user_metadata. Vous pouvez soit enregistrer uniquement un indicateur précisant si l’utilisateur a consenti ou non, soit un ensemble d’informations et de préférences liées au consentement (y compris, par exemple, la date à laquelle l’utilisateur a donné son consentement, les conditions auxquelles il a consenti, etc.). Vous pouvez ensuite accéder à ces informations et les modifier à l’aide de la Management API. La Management API offre également plusieurs options pour la recherche d’utilisateurs ainsi que des points de terminaison permettant de mettre à jour les métadonnées des utilisateurs ou d’exporter des utilisateurs en lot. Pour accéder à la Management API, vous aurez besoin d’un . Pour savoir comment obtenir un jeton d’accès pour la Management API, consultez Jetons d’accès pour la Management API.

Rechercher des utilisateurs par adresse courriel

Pour rechercher un utilisateur à partir de son adresse courriel, utilisez l’point de terminaison Search User by Email. Définissez le paramètre de requête fields sur user_metadata afin de limiter les champs retournés. Ainsi, seules les données user_metadata seront retournées plutôt que le profil utilisateur complet. Exemple de requête : Exemple de réponse :

Rechercher des utilisateurs par ID

Pour rechercher un utilisateur par son ID, utilisez l’point de terminaison Get a User. Définissez le paramètre de requête fields à user_metadata afin de limiter les champs renvoyés. Ainsi, seul user_metadata sera renvoyé plutôt que l’ensemble du profil utilisateur. Exemple de requête : Exemple de réponse :
Pour mettre à jour le user_metadata d’un utilisateur, utilisez le point de terminaison Update a User. La façon de structurer votre requête dépend de la structure de vos métadonnées : à la racine ou dans des propriétés internes. Si vos métadonnées sont stockées à la racine :
Si vos métadonnées sont stockées sous forme de propriétés internes :

Mettre à jour la propriété racine

Les mises à jour des propriétés de niveau racine sont fusionnées; vous n’avez donc qu’à envoyer la valeur du champ que vous souhaitez mettre à jour. Par exemple, supposons que nous voulions ajouter une date de consentement et la définir à 01/23/2018. Cela ajoutera une nouvelle propriété au profil de l’utilisateur, user_metadata.consentDate, qui contiendra la date à laquelle le client a consenti. La réponse sera le profil complet de l’utilisateur. Les métadonnées mises à jour ressembleront à ceci :

Mettre à jour une propriété imbriquée

Pour mettre à jour une propriété imbriquée, vous devez envoyer l’objet metadata au complet, même si vous ne mettez à jour qu’une seule propriété. Si vous n’incluez pas l’objet en entier, Auth0 supprimera vos propriétés existantes. Ajoutons une propriété imbriquée pour la date de consentement et définissons-la à 01/23/2018. Cela ajoutera une nouvelle propriété au profil utilisateur, user_metadata.consent.date, qui contiendra la date à laquelle le client a donné son consentement. La réponse sera le profil utilisateur complet. Les métadonnées mises à jour ressembleront à ceci :
Pour exporter une liste de vos utilisateurs à l’aide de la Management API, utilisez le point de terminaison User Export. Ce point de terminaison crée une tâche qui exporte tous les utilisateurs associés à une connexion. Vous aurez besoin de l’ID de la connexion. Pour trouver cet ID, utilisez le point de terminaison Get Connections (vous pouvez définir le paramètre name sur le nom de la connexion afin de récupérer uniquement celle-ci). Une fois que vous avez l’ID de la connexion et un jeton d’accès pour la Management API, vous êtes prêt à commencer l’exportation des utilisateurs. Pour voir un exemple de requête et de réponse, consultez Import and Export Users. Pour savoir comment obtenir un jeton d’accès pour la Management API, consultez Management API Access Tokens. Vous devez aussi :
  • Déterminer comment vous voulez faire le suivi du consentement. Nous recommandons d’inclure non seulement la date à laquelle l’utilisateur a donné son consentement, mais aussi la version des conditions générales qu’il a acceptées. Nous recommandons également d’inclure un tableau pour consigner l’information sur les utilisateurs qui retirent leur consentement (n’oubliez pas que l’utilisateur peut donner et retirer son consentement plusieurs fois).
  • Choisir où vous voulez stocker le consentement : dans la base de données d’Auth0 ou ailleurs.
L’utilisateur devrait avoir la possibilité de retirer son consentement dans votre application. Cette option devrait être facilement accessible et clairement identifiable. Une fois que l’utilisateur décide de retirer son consentement, vous devriez prendre les mesures nécessaires. Vous devez d’abord décider comment vous gérerez le retrait du consentement : supprimerez-vous les utilisateurs ou les marquerez-vous comme supprimés ?

Supprimer un utilisateur

Pour supprimer un utilisateur, utilisez le point de terminaison Supprimer un utilisateur. Le corps de la réponse de ce point de terminaison est vide. Donc, si vous voulez confirmer que l’utilisateur a bien été supprimé, essayez de le récupérer à l’aide de son courriel. Si le point de terminaison renvoie une erreur, cela signifie que votre requête de suppression de l’utilisateur a réussi.

Marquer l’utilisateur comme supprimé

Si vous ne voulez pas supprimer l’utilisateur, marquez son profil comme supprimé à l’aide du point de terminaison app_metadata. Ensuite, ajoutez du code pour faire échouer le processus d’authentification pour tout utilisateur dont le profil est marqué comme tel. Cela vous permet de conserver une trace des utilisateurs supprimés pour usage ultérieur.

Marquer le profil

Pour marquer un utilisateur comme supprimé, utilisez app_metadata. Dans l’exemple suivant, nous vous montrons comment ajouter une propriété appelée deleted au champ app_metadata. Cela vous permet de configurer le processus d’authentification pour traiter comme supprimés tous les utilisateurs dont cette propriété est définie à true. Pour mettre à jour les métadonnées d’un utilisateur, utilisez le point de terminaison Update a User.

Désactiver la connexion pour les utilisateurs marqués

Ensuite, vous devez désactiver la connexion pour les utilisateurs marqués comme supprimés. Pour ce faire, vous allez ajouter une Rule (un extrait Javascript qui s’exécute dans le pipeline d’authentification).
  1. Accédez à Auth0 Dashboard > Auth Pipeline > Rules et créez une Rule.
  2. Copiez le script ci-dessous :
    Le script fait ce qui suit :
    1. Vérifie la valeur de la propriété de métadonnées deleted (user.app_metadata.deleted).
    2. Renvoie une erreur Access denied (deleted user) à votre application si user.app_metadata.deleted = true
  3. Donnez un nom à votre Rule et enregistrez vos modifications.
Vous devez aussi :
  • Veiller à ce que la partie du retrait du consentement soit suffisamment granulaire.
  • Configurer dans l’application la section où les clients retireront leur consentement.

Pour en savoir plus