Passer au contenu principal
Le champ 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?

Lorsque les utilisateurs s’inscrivent avec un courriel et un mot de passe, ils reçoivent un courriel de vérification contenant un lien. Lorsqu’ils cliquent sur ce lien, Auth0 vérifie leur adresse courriel. Pour en savoir plus, consultez Personnaliser les modèles de courriel. Lorsque les utilisateurs s’authentifient à l’aide d’un fournisseur d’identité fédéré (p. ex. une connexion sociale ou d’entreprise), la valeur du champ 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

Lorsque vous voulez lier deux comptes d’utilisateur, vous devez vous assurer 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 avec les deux comptes avant de les lier. Vous ne devez pas lier automatiquement des comptes en fonction des courriels de l’utilisateur. Demandez toujours aux utilisateurs de s’authentifier de nouveau avant de le faire. Cela permet d’éviter des scénarios comme ceux-ci :
  • John Doe, un employé de Travel0, s’inscrit sur un site en utilisant son courriel professionnel john.doe@travel0.com et 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.
D’autre part, nous vous recommandons tout de même de vérifier le champ 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.

Courriels vérifiés et décisions d’autorisation

De la même manière que vous ne pouvez pas vous fier entièrement au courriel, vous ne pouvez pas non plus vous fier entièrement à son domaine. Si votre application doit restreindre l’accès selon l’employeur de l’utilisateur, le fait qu’un utilisateur soit connecté avec un courriel provenant d’un domaine d’entreprise précis ne garantit pas qu’il doive se voir accorder l’accès. Par exemple :
  • 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.com ne 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.
De façon générale, vous ne devriez pas utiliser le domaine du courriel pour prendre des décisions d’autorisation. Si vous devez vérifier si l’utilisateur appartient à une organisation précise, il est préférable de vous fier à la connexion utilisée pour s’authentifier, ou à des attributs propres à la connexion comme l’id du locataire Azure AD.

En savoir plus