email_verified d’un profil utilisateur indique si l’utilisateur a vérifié son adresse courriel. La vérification de l’adresse courriel est facultative, mais des adresses courriel valides sont requises pour certaines actions, comme l’envoi de communications par courriel, l’envoi de liens de réinitialisation/récupération de mot de passe et de liens magiques aux utilisateurs.
Une adresse courriel est habituellement vérifiée 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 une bonne façon de savoir que la personne qui s’inscrit est bien propriétaire de cette adresse courriel à ce moment-là.
Comme la vérification de l’adresse courriel n’a lieu qu’une seule fois, à ce moment précis, nous ne pouvons pas garantir qu’une personne qui se connecte avec le compte d’utilisateur plus tard est encore propriétaire de l’adresse courriel qui a été vérifiée.
Dans le cas des fédérés, il arrive qu’ils indiquent si l’utilisateur a une adresse courriel vérifiée et, sur cette base, Auth0 définit le champ email_verified dans le profil utilisateur. Cela transfère toutefois au fournisseur d’identité la responsabilité de le faire correctement — ce que nous ne pouvons pas garantir. Nous ne savons pas non plus si l’adresse courriel vérifiée par ce fournisseur appartient encore à l’utilisateur.
Pour toutes ces raisons, nous devons faire preuve de prudence dans ce que nous supposons à partir d’une adresse courriel vérifiée.
Quand Auth0 considère-t-il les courriels comme vérifiés?
email_verified correspond à celle que le fournisseur d’identité renvoie dans le profil utilisateur. Si le fournisseur d’identité ne renvoie aucune valeur, false sera utilisé.
Adresses courriel vérifiées et liaison de comptes
- John Doe, un employé de Travel0, s’inscrit sur un site à l’aide de son adresse courriel professionnelle
john.doe@travel0.comet d’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 avec 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ée peuvent commettre des erreurs dans la façon dont ils gèrent la vérification de l’adresse courriel et indiquer à tort que des utilisateurs sont propriétaires d’une adresse courriel qui ne leur appartient pas.
email_verified avant d’effectuer la liaison de comptes, afin d’atténuer des scénarios comme ceux-ci :
- Un attaquant crée un compte Google
attacker@gmail.com. - L’attaquant crée un nouvel utilisateur de base de données avec l’adresse courriel de la victime (p. ex.
victim@hotmail.com). - L’attaquant lie les deux comptes.
- L’attaquant envoie une tentative d’hameçonnage à la victime.
- La victime essaie de s’inscrire, on lui indique que l’utilisateur existe déjà et on lui propose de réinitialiser son mot de passe.
- L’utilisateur saisit son mot de passe et ouvre une session dans le compte de l’attaquant, qui a maintenant accès à toutes les données que la victime saisit dans l’application.
- Si votre application permet aux clients de s’inscrire pour créer de nouveaux comptes et que des 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.comne devrait pas avoir accès au même ensemble de fonctionnalités qu’un utilisateur qui s’authentifie avec l’annuaire d’entreprise d’acme.com. - Si votre application prend en charge l’authentification avec Azure AD et que l’annuaire prend en charge les utilisateurs invités, vous pouvez avoir des utilisateurs de n’importe quel domaine qui se connectent à partir de ce tenant 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 tenant.