L'API Email Verification est une proposition qui permet au navigateur de communiquer directement avec le fournisseur de messagerie pour vérifier que l'utilisateur est bien le propriétaire de l'adresse e-mail. Les utilisateurs saisissent leur adresse e-mail et envoient le formulaire. Le site vérifie ensuite le jeton de validation d'adresse e-mail signé depuis le navigateur avec le fournisseur, sans envoyer d'e-mail ni interrompre le parcours utilisateur.
Lorsqu'ils collectent une adresse e-mail lors de l'inscription, de la connexion, du règlement, de l'abonnement à une newsletter ou de la récupération d'un compte, les sites confirment généralement que la personne qui envoie le formulaire contrôle l'adresse. Les méthodes de validation existantes obligent les utilisateurs à quitter votre site, à changer d'application pour consulter leur boîte de réception, à copier un code OTP ou à cliquer sur un lien de validation. Cette perturbation augmente le taux d'abandon et d'interruption de session pour les utilisateurs humains et les agents automatisés. Les utilisateurs rencontrent souvent des difficultés avec les méthodes de validation existantes, comme les e-mails différés, les liens expirés ou les codes non reconnus.
La validation de l'adresse e-mail est une amélioration progressive de votre flux existant :
- Aucune interruption : la validation s'effectue en arrière-plan pendant que l'utilisateur remplit le formulaire.
- Aucune détection de fonctionnalité requise : les sites ajoutent une entrée d'adresse e-mail et une entrée de jeton masquée à leurs formulaires. Si le navigateur ou le fournisseur ne sont pas compatibles avec la validation de l'adresse e-mail, ou si la validation échoue, le site revient à son flux de confirmation par e-mail par défaut.
- Limitez les risques d'hameçonnage : aucun code à copier ni possibilité d'envoyer l'utilisateur vers un faux site.
Liens utiles
- API Email Verification sur GitHub
- Protocole de validation des adresses e-mail sur GitHub
- Validation de l'adresse e-mail sur la page État de la plate-forme Chrome
- Inscription à l'essai Origin Trial de validation de l'adresse e-mail
Vous pouvez tester le flux dans la démo :
- Démonstration de l'émetteur : fournit un faux compte de messagerie et une session connectée.
- Démonstration du validateur : validez l'adresse e-mail de démonstration ou l'adresse e-mail d'un fournisseur participant.
Points à prendre en compte pour les essais Origin Trial
Les essais Origin Trial sont des tests permettant de recueillir des commentaires. Votre avis est donc essentiel si vous participez en tant que partie de confiance ou fournisseur d'identité. Pour signaler des problèmes, utilisez les dépôts GitHub suivants :
- API de validation d'adresse e-mail du navigateur : WICG/email-verification
- Protocole de validation de l'adresse e-mail : dickhardt/email-verification
Si vous rencontrez des bugs dans l'implémentation Chrome, signalez un problème dans le composant suivant :
Vous contrôlez la fonctionnalité d'essai Origin Trial pour chaque réponse en incluant le jeton d'essai Origin Trial. Cela vous permet de limiter la fonctionnalité à un segment spécifique de vos utilisateurs, comme une population de test A/B. Si vous disposez d'un groupe d'utilisateurs pour les tests bêta ou l'aperçu anticipé, vous pouvez ou devez activer la fonctionnalité pour eux. Dans ce cas, vérifiez l'adresse e-mail fournie avant d'émettre ou de valider le jeton.
Les essais Origin Trial sont également soumis à des limites de trafic afin de minimiser le nombre de sites qui s'appuient sur la fonctionnalité avant son lancement. L'API émetteur est en cours de développement. Vous devez vous attendre à des modifications incompatibles avec les versions antérieures, ainsi qu'à des mises à jour de l'expérience utilisateur Chrome.
Nous publierons d'autres informations sur le blog et sur la liste de diffusion evp-announce@chromium.org au fur et à mesure de l'avancement du développement.
Processus de validation de l'adresse e-mail
Les sections suivantes expliquent les termes clés et les étapes du protocole à suivre lorsque vous utilisez l'API Email Verification.
Termes clés
Voici les principaux termes de l'API Email Verification :
- Validateur : site qui collecte l'adresse e-mail et souhaite la valider. Le vérificateur est également appelé partie de confiance.
- Fournisseur de messagerie : service fournissant l'adresse e-mail de l'utilisateur, par exemple
gmail.com. - Émetteur : service qui gère le compte pour l'adresse e-mail de l'utilisateur, par exemple
accounts.google.com. L'émetteur est également appelé fournisseur d'identité.
Dans certains cas, le fournisseur de messagerie et l'émetteur opèrent à partir du même domaine.
Toutefois, il est important de faire la distinction entre les deux, car l'API Email Verification utilise la session active dans le navigateur avec le fournisseur d'identité comme méthode de validation. Par exemple, pour valider example@gmail.com, l'utilisateur doit être connecté à google.com avec ce compte dans le même navigateur.
Flux de protocole
- Présentation du formulaire : la partie de confiance fournit un formulaire HTML contenant un
<input type="email">et une entrée masquée marquée avecautocomplete="email-verification-token"et unnonceunique par instance. - Saisie d'une adresse e-mail : lorsque l'utilisateur saisit une adresse e-mail (en sélectionnant une suggestion de saisie automatique, ou en saisissant ou collant une adresse, puis en quittant le champ
blur), le navigateur déclenche la validation en arrière-plan. - Découverte et session : le navigateur interroge l'enregistrement TXT DNS pour
_email-verification.<email-domain>afin de découvrir l'origine de l'émetteur autorisé du fournisseur, puis vérifie si l'utilisateur dispose d'une session active à l'aide de la configuration.well-known/web-identityde l'émetteur et des points de terminaison des comptes FedCM. Si le domaine ne publie pas d'enregistrement EVP ou qu'aucune session active n'existe, le navigateur arrête la validation sans inviter l'utilisateur à effectuer une action. - Émission de jetons : le navigateur découvre le
issuance_endpointdu fournisseur à partir de.well-known/email-verification, crée une paire de clés éphémères et envoie une requête HTTPPOSTà l'aide des signatures de messages HTTP (RFC 9421) avec les cookies de session first party de l'émetteur et l'adresse e-mail cible pour recevoir un jeton de validation d'adresse e-mail signé (EVT). - Association de clé et envoi : le navigateur associe le
EVTsigné à l'origine de la partie de confiance et au formulairenoncedans un jeton JWT d'association de clé (KB-JWT). Lorsque l'utilisateur envoie le formulaire, Chrome renseigne l'entrée masquée avec le jeton combiné (<EVT>~<KB-JWT>) et affiche une petite notification informant l'utilisateur que son fournisseur de messagerie a validé son adresse. - Valider les revendications et la base de connaissances : le serveur de la partie de confiance analyse le jeton
<EVT>~<KB-JWT>, valide les revendications attendues (email,email_verified,aud,nonce,iatetexp) et vérifie la signature de liaison de clé par rapport à la clé publique éphémère danscnf.jwk. - DNS et clés publiques : la partie de confiance interroge l'enregistrement TXT DNS
_email-verification.<email-domain>pour confirmer qu'il correspond à la revendicationissdu jeton, puis récupère les métadonnées.well-known/email-verificationet les clés publiques de l'émetteur à partir dejwks_uri. - Valider l'EVT et le finaliser : la partie de confiance valide la signature
EVTde l'émetteur à l'aide de laJWKSpublique du fournisseur. Si aucun jeton n'est reçu ou si une étape de validation échoue, le site revient à son processus de confirmation par e-mail existant.
La première fois qu'un utilisateur valide une adresse e-mail, Chrome affiche une invite d'autorisation (une boîte de dialogue sur ordinateur ou une feuille inférieure sur Android) avant de demander un jeton. Si elle est accordée, cette autorisation est mémorisée par adresse e-mail sur les sites participants.
Paramètres de Google Chrome
Les utilisateurs peuvent gérer leurs adresses e-mail validées :
- Sur ordinateur, sous Paramètres > Saisie automatique et mots de passe > Informations de contact > Adresse e-mail validée (ou ouvrez
chrome://settings/contactInfo) - Sur Android, sous Paramètres > Adresses et plus > Adresse e-mail validée
Les utilisateurs peuvent désactiver complètement la fonctionnalité ou gérer les adresses e-mail validées individuellement.
Points à prendre en compte pour les cas d'utilisation
La validation de l'adresse e-mail est une amélioration progressive de votre flux existant. Elle permet à l'utilisateur de ne pas avoir à quitter votre site pour récupérer un code OTP ou cliquer sur un lien. Les sites peuvent ajouter les champs de validation de l'adresse e-mail à tous les formulaires concernés, comme les formulaires de connexion, d'inscription à la newsletter, de création de compte et de récupération de mot de passe. L'EVP n'est déclenché que si le navigateur le prend en charge. Si aucun code n'est reçu lors de l'envoi ou si l'une des étapes de validation échoue, vous pouvez revenir à votre flux de confirmation par e-mail par défaut. Cela signifie également qu'il n'y a pas de détection de fonctionnalité pour l'API. Le site de validation traite l'EVT comme facultatif et le traite s'il est présent dans la requête.
La validation de l'adresse e-mail confirme que l'utilisateur dispose d'une session active auprès du fournisseur de son adresse e-mail. Il ne permet pas de vérifier que votre e-mail est bien parvenu à l'utilisateur. Vous pouvez toujours envoyer des e-mails de bienvenue ou d'intégration existants, et vous pouvez ou devez inviter l'utilisateur à vérifier ses paramètres de spam.