email_verified d’un profil utilisateur indique si l’utilisateur a vérifié son adresse courriel. La vérification du courriel est facultative, mais des adresses courriel valides sont requises pour certaines actions, comme l’envoi de communications par courriel, de liens de réinitialisation ou de récupération de mot de passe, ainsi que de liens magiques aux utilisateurs.
Un courriel est généralement vérifié immédiatement après la création du compte utilisateur ou lorsque l’utilisateur ouvre une session dans l’application pour la première fois. C’est un bon moyen de confirmer que la personne qui s’inscrit est bien propriétaire de cette adresse courriel à ce moment-là.
Comme la vérification du courriel n’a lieu qu’une seule fois, à ce moment précis, nous ne pouvons pas garantir qu’une personne qui ouvre une session avec le compte utilisateur plus tard est toujours propriétaire de l’adresse courriel vérifiée.
Dans le cas des fédérés, ceux-ci indiquent parfois si l’utilisateur a une adresse courriel vérifiée et, en fonction de cette information, Auth0 définit le champ email_verified dans le profil utilisateur. Toutefois, cela confie au fournisseur d’identité la responsabilité de bien le faire, ce que nous ne pouvons pas garantir. Nous ne savons pas non plus si l’adresse courriel vérifiée par ce fournisseur appartient toujours à l’utilisateur.
Pour toutes ces raisons, nous devons faire preuve de prudence dans ce que nous déduisons d’une adresse courriel vérifiée.
Quand Auth0 marque-t-il les courriels comme vérifiés?
email_verified correspond à celle que le fournisseur d’identité renvoie dans le profil de l’utilisateur. Si le fournisseur d’identité ne renvoie aucune valeur, elle sera définie sur false.
Courriels vérifiés et liaison de comptes
- John Doe, un employé de Travel0, s’inscrit sur un site en utilisant son courriel professionnel
john.doe@travel0.comet un mot de passe. Des mois plus tard, John Doe quitte Travel0, et un nouveau John Doe est embauché, avec le même compte de courriel. Cette personne se rend sur le même site Web, s’authentifie auprès de son fournisseur d’identité d’entreprise (comme Google Workspace), puis voit son compte automatiquement lié à celui de l’autre utilisateur. - Les fournisseurs d’identité fédérés peuvent commettre des erreurs dans la façon dont ils gèrent la vérification des courriels et indiquer que des utilisateurs sont propriétaires d’un courriel qui ne leur appartient pas.
email_verified avant d’effectuer une liaison de comptes, afin d’atténuer des scénarios comme celui-ci :
- Un attaquant crée un compte Google
attacker@gmail.com. - L’attaquant crée un nouvel utilisateur dans la base de données avec le courriel de la victime (par ex.
victim@hotmail.com). - L’attaquant lie les deux comptes.
- L’attaquant lance une attaque d’hameçonnage contre la victime.
- La victime tente de s’inscrire, on lui indique que le compte existe déjà et on lui propose de réinitialiser le mot de passe.
- La victime saisit son mot de passe et se connecte au compte de l’attaquant, qui a maintenant accès à toutes les données qu’elle saisit dans l’application.
- Si votre application permet aux clients de créer de nouveaux comptes et que des employés de différentes entreprises s’authentifient au moyen de leurs identifiants d’entreprise, un utilisateur qui s’inscrit avec un compte
user@acme.comne devrait pas se voir accorder le même ensemble de fonctionnalités qu’un utilisateur qui s’authentifie au moyen du répertoire d’entreprise d’acme.com. - Si votre application prend en charge l’authentification avec Azure AD et que le répertoire prend en charge les utilisateurs invités, des utilisateurs de n’importe quel domaine peuvent se connecter à partir de ce locataire Azure AD. Vous ne devriez pas accorder aux utilisateurs invités le même niveau d’accès qu’aux autres utilisateurs qui s’authentifient avec ce locataire.