Utiliser une adresse courriel vérifiée dans les profils utilisateurs
Le champ email_verified
d’un profil utilisateur indique si l’utilisateur a vérifié son adresse courriel ou non. La vérification des courriels est facultative, mais des adresses courriel valides sont requises pour certaines actions, telles que l’envoi de communications par courriel, des liens de réinitialisation/récupération de mot de passe et des liens magiques sans mot de passe aux utilisateurs.
Un courriel est généralement vérifié immédiatement après la création du compte d’utilisateur ou lorsque l’utilisateur se connecte à l’application pour la première fois. C’est un bon moyen de savoir que la personne qui s’inscrit est réellement propriétaire du courriel à ce moment.
Étant donné que la vérification des courriels a lieu une seule fois à ce moment précis, nous ne pouvons pas garantir qu’une personne qui se connecte ultérieurement avec le compte d’utilisateur possède toujours l’adresse courriel qui a été vérifiée.
Dans le cas des fournisseurs d’identités fédérés, ils signalent parfois si l’utilisateur dispose d’une adresse courriel vérifiée, et sur cette base, Auth0 définit le champ email_verified
dans le profil utilisateur. Toutefois, cela transfère la responsabilité au fournisseur d’identité de le faire correctement; nous ne pouvons pas le garantir. Nous ne savons pas non plus si le courriel vérifié de ce fournisseur appartient toujours à l’utilisateur.
Pour toutes ces raisons, nous devons être prudents quant à ce que nous pouvons supposer en se basant sur un courriel vérifié.
Quand Auth0 définit-il les courriels comme étant vérifiés?
Lorsque les utilisateurs s’inscrivent avec leur courriel et leur mot de passe, ils reçoivent un courriel de vérification avec un lien. Quand ils cliquent sur le lien, Auth0 vérifie leur courriel. Pour en savoir plus, consultez Personnaliser les modèles de courriel.
Quand les utilisateurs s’authentifient auprès d’un fournisseur d’identité fédéré (p. ex., une connexion sociale ou d’entreprise), la valeur du champ email_verified
correspondra à ce que le fournisseur d’identité renvoie dans le profil utilisateur. Si le fournisseur d’identité ne renvoie aucune valeur, celle-ci sera définie sur false
.
Courriels vérifiés et association de comptes
Quand vous souhaitez associer deux comptes d’utilisateurs, assurez-vous que l’utilisateur a toujours accès aux deux comptes. La seule façon d’y parvenir est de demander aux utilisateurs de s’authentifier auprès des deux comptes avant de les associer.
Vous ne devez pas associer automatiquement les comptes en fonction des courriels de l’utilisateur. Demandez toujours aux utilisateurs de s’authentifier à nouveau avant de le faire. Cela empêchera d’éventuels scénarios tels que :
Pierre Untel, un employé de Travel0, s’inscrit sur un site en utilisant son courriel professionnel
pierre.untel@travel0.com
et un mot de passe. Quelques mois plus tard, Pierre Untel quitte Travel0 et un nouveau Pierre Untel est embauché, avec le même compte de courrier électronique. Cette personne accède au même site Web, s’authentifie auprès de son fournisseur d’identité d’entreprise (tel que Google Workspace) et obtient le compte automatiquement associé à l’autre utilisateur.Les fournisseurs d’identités fédérés peuvent commettre des erreurs dans la manière dont ils gèrent la vérification des courriels et signaler que les utilisateurs possèdent un courriel même quand ce n’est pas le cas.
D’un autre côté, nous vous conseillons de toujours vérifier le champ email_verified
avant d’effectuer une association de comptes, pour mitiger des scénarios tels que :
Un attaquant crée un compte Google
attacker@gmail.com
.L’attaquant crée une nouvelle base de données d’utilisateurs avec le courriel de la victime (par ex,
victim@hotmail.com
).L’attaquant associe les deux comptes.
L’attaquant envoie une attaque d’hameçonnage à la victime.
La victime essaie de s’inscrire, on lui dit que l’utilisateur existe déjà et on lui propose de réinitialiser le mot de passe.
L’utilisateur saisit son mot de passe et se connecte au compte de l’attaquant, qui a désormais accès à toutes les données saisies par la victime dans l’application.
Courriels vérifiés et décisions d’autorisation
De la même manière que vous ne pouvez pas faire entièrement confiance au courriel, vous ne pouvez pas non plus faire entièrement confiance au domaine de courriel.
Si votre application doit restreindre l’accès en fonction de l’employeur de l’utilisateur, le fait qu’un utilisateur soit connecté avec une adresse courriel provenant d’un domaine d’entreprise particulier ne garantit pas qu’il puisse accéder.
Par exemple :
Si votre application permet aux clients de créer de nouveaux comptes et que les employés de différentes entreprises s’authentifient à l’aide de leurs identifiants d’entreprise, un utilisateur qui s’inscrit avec un compte
user@acme.com
ne doit pas avoir accès au même ensemble de fonctionnalités qu’un utilisateur s’authentifiant auprès de l’annuaire d’entreprise acme.com.Si votre application prend en charge l’authentification avec Microsoft Entra ID et que l’annuaire prend en charge les utilisateurs invités, vous pouvez permettre aux utilisateurs de n’importe quel domaine de se connecter à partir de ce locataire Microsoft Entra ID. Vous ne devez pas accorder aux utilisateurs invités le même niveau d’accès qu’aux autres utilisateurs qui s’authentifient auprès de ce locataire.
Comme recommandation générale, vous ne devez pas utiliser le domaine du courriel pour prendre des décisions relatives à l’autorisation. Si vous devez vérifier si l’utilisateur appartient à une organisation particulière, il est préférable de se fier à la connexion qu’il a utilisée pour s’authentifier ou sur des attributs propres à la connexion comme l’identification du locataire de Microsoft Entra ID.