C'est une bonne idée de permettre à vos utilisateurs d'ajouter des adresses e-mail supplémentaires à leurs comptes. Ceci leur permet de changer leurs adresses e-mail, et d'accéder à leur compte même s'ils sont dans l'impossibilité d'accéder à leur compte e-mail principal.
Vous devrez vérifier les adresses supplémentaires. Vous pouvez le faire manuellement, en envoyant un e-mail contenant un lien de vérification à la nouvelle adresse, ou le faire en utilisant Persona.
Si vous utilisez Persona pour ajouter des adresses e-mail, il vous faut alors faire attention à plusieurs points : rendez le contexte de la requête explicite, et mettez à jour la valeur passer dans loggedInUser
pour assurer que la transaction n'est pas cassée par le gestionnaire de session de Persona
Clarifier le context de la requête
Quand vous requêtez une nouvelle assertion en utilisant soit la vieille API navigator.id.get()
ou l'API navigator.id.request()
, Persona part du principe que l'utilisateur est en train d'essayer de se connecter au site web, et l'interface utilisateur est affiché en conséquence. Si vous utilisez Persona seulement pour vérifier une nouvelle adresse e-mail, votre site doit expliquer ceci clairement aux utilisateurs, afin qu'ils ne soient pas étonnés par la fenêtre de Persona.
Mettre à jour loggedInUser
Si vous utilisez l'API navigator.id.get()
sur l'ensemble de votre site, alors vous pouvez simplement faire un nouvel appel à navigator.id.get()
pour obtenir la nouvelle adresse e-mail.
Mais si vous utilisez navigator.id.request()
, il vous faut alors utiliser navigator.id.request()
pour obtenir l'adresse e-mail supplémentaire. Dans ce cas, quand vous avez vérifié l'assertion dans votre gestionnaire onlogin
, vous devez mettre à jour l'argument loggedInUser
de navigator.id.watch()
avec la nouvelle adresse.
Si vous ne le faîtes pas, il y aura une mauvaise correspondance : Persona pensera que l'utilisateur connecté est [email protected]
, mais votre site web dira que l'utilisateur connecté est [email protected]
. Persona réagira en déclenchant onlogin
avec une assertion pour [email protected]
, que votre site web reconnatra sûrement comme un nouveau utilisateur souhaitant se connecter.