Skip to main content
Le champ 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?

Lorsque les utilisateurs s’inscrivent avec une adresse 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 auprès d’un fournisseur d’identité fédéré (p. ex. une connexion sociale ou une connexion d’entreprise), la valeur du champ 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

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 devriez pas lier automatiquement des comptes en fonction de l’adresse courriel des utilisateurs. Demandez-leur toujours 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 à l’aide de son adresse courriel professionnelle john.doe@travel0.com et 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.
D’un autre côté, nous vous recommandons quand même de vérifier le champ 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.

Adresses courriel vérifiées et décisions d’autorisation

De la même manière qu’on ne peut pas se fier entièrement à l’adresse courriel, on ne peut pas non plus se fier entièrement à son domaine. 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 précis ne garantit pas qu’il devrait se voir accorder l’accès. Par exemple :
  • 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.com ne 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.
De façon générale, vous ne devriez pas utiliser le domaine de l’adresse courriel pour prendre des décisions d’autorisation. Si vous devez vérifier si l’utilisateur appartient à une organisation précise, il vaut mieux vous fier à la connexion qu’il a utilisée pour s’authentifier, ou à des attributs propres à la connexion, comme l’ID du tenant Azure AD.

En savoir plus