web-dev-qa-db-fra.com

Lorsque l'e-mail de connexion d'un utilisateur a été modifié, que doit-il se passer?

Je fais une interface en ligne pour un système. Ce système est normalement utilisé par une entreprise fournissant un service à un client. Le client aura la possibilité d'utiliser cette interface en ligne en plus de traiter directement avec une personne réelle dans l'entreprise.

Désormais, l'utilisateur se connecte au frontend en ligne en utilisant une adresse e-mail comme nom d'utilisateur. Cette adresse e-mail a été associée à leur compte par l'entreprise. À tout moment, l'utilisateur peut modifier cette adresse e-mail via une communication directe avec l'entreprise. Si l'utilisateur a changé son adresse e-mail de cette manière, que se passe-t-il?

De toute évidence, la nouvelle adresse e-mail doit connecter l'utilisateur de manière transparente. Que se passe-t-il avec l'ancienne adresse e-mail lorsque l'utilisateur essaie de se connecter?

  • Jetons-nous une erreur "e-mail invalide"?
  • Invitons-nous l'utilisateur à se connecter en utilisant la nouvelle adresse e-mail?
  • Autorisons-nous l'utilisateur à se connecter en utilisant l'ancienne adresse, mais affichons-nous une option importante dans le frontend lui demandant de basculer?

En tant que programmeur paresseux, je penche vers la deuxième option. Peut-être que la troisième option est plus utilisable? Il semble que cela ajouterait une autre couche de complexité, à la fois dans le programme et dans la façon dont l'utilisateur doit penser à son compte.

12
James

Vous devez générer une erreur "e-mail non valide". C'est le plus transparent, communique exactement ce qui s'est passé, et l'utilisateur peut immédiatement ajuster le comportement en fonction de ces commentaires, avec une faible probabilité de revoir ce même message. Laissez-moi vous expliquer pourquoi les autres options ne sont pas une bonne idée:

  • L'invite à se connecter avec la nouvelle adresse est un anti-modèle de sécurité. Si je connais votre ancienne adresse e-mail, je peux maintenant découvrir quelle est votre nouvelle adresse e-mail étant donné que je sais que vous utilisez le service X. Cela pourrait être un problème de confidentialité, en particulier sur un site de rencontres ou un réseau social par exemple. ( Modifier: ce n'est un problème que si vous affichez réellement la nouvelle adresse e-mail; J'ai mal lu votre balle et j'ai pensé que c'était ce que vous disiez. Mais le point est toujours d'actualité :)

  • Vous ne savez pas pourquoi l'utilisateur modifie son adresse e-mail, il est donc risqué de continuer à verrouiller cette adresse e-mail sur ce compte. Pour tout ce que vous savez, ils ont annulé leur compte avec leur ancien hôte de messagerie et cette adresse est maintenant utilisée par quelqu'un d'autre qui peut également vouloir accéder à votre service (peu probable, mais en théorie!).

Si vous implémentez l'avertissement "e-mail invalide", vous pouvez rendre les choses un peu plus conviviales en utilisant notre fidèle ami à faible coût, Copywriting:

L'adresse e-mail ou le mot de passe que vous avez entré n'est pas valide. [...] Peut-être avez-vous changé l'adresse e-mail que vous utilisez pour vous connecter?

Vous pouvez également offrir la possibilité de demander quelle adresse e-mail est utilisée pour vous connecter. Pour ce faire sans se retrouver avec l'anti-modèle susmentionné, autorisez l'utilisateur à saisir son ancien adresse e-mail, puis affichez un message disant "nous avons envoyé un e-mail à l'adresse que nous avons dans le fichier que vous utilisez pour vous connecter". L'utilisateur pourra alors se souvenir de l'adresse e-mail qu'il utilise par association à partir de l'e-mail que vous lui avez envoyé. Bien sûr, vous devez vérifier que les utilisateurs ne se soucient pas que vous conserviez un journal de leurs adresses e-mail passées - ils peuvent ne pas l'apprécier.

Tout ce qui précède va bien au-delà de ce que la plupart des sites Web destinés aux consommateurs mettront en œuvre en termes de convivialité. Habituellement, changer votre adresse e-mail est un changement permanent et il n'y a aucun moyen de réparer les choses si vous oubliez que vous avez fait ce changement. Pensez à votre compte Google, par exemple: changez l'adresse e-mail là-bas, et oubliez, et vous avez probablement un gros problème en dehors d'avoir un numéro de téléphone enregistré auquel ils peuvent vous envoyer un SMS.

Modifier: La meilleure solution est clairement une combinaison de vos premier et deuxième points, que j'ai négligé de lire attentivement avant d'écrire cette réponse. Cependant, la plupart des réponses ont toujours un sens.

12
Rahul

Sur une note de sécurité vs d'utilisation - la raison pour laquelle certains systèmes ne disent pas si c'est l'e-mail ou le mot de passe qui a été entré est parce qu'en disant `` e-mail invalide '', vous donnez à l'inverse à un pirate un signal qu'un e-mail donné - fonctionne fonctionne quand il est présent.

Je ne dirais donc pas "e-mail invalide" - je dirais "e-mail ou mot de passe n'a pas été reconnu".

17
Julian H

Si l'adresse e-mail est utilisée comme identifiant unique, je m'attends à ce que le système ait oublié l'e-mail d'origine et m'associe maintenant au nouveau. Je m'attendrais donc à une erreur. Peut-être que le message pourrait suggérer qu'ils ont peut-être changé leur adresse e-mail.

Quoi que vous fassiez, veuillez envoyer un e-mail à l'adresse e-mail d'origine lorsque vous passez à la nouvelle adresse e-mail dans le sens de "L'adresse e-mail de ce compte a été remplacée par [nouvel e-mail]. Si cela est incorrect, veuillez [ajouter un lien pour contester cette modification]. "

Apple ne fait pas ça. Ce qui craint quand quelqu'un pirate votre compte iTunes et change l'adresse e-mail.

5
DA01

Cette question est un peu trompeuse car elle utilise le mot "adresse e-mail" alors qu'en fait elle s'applique à toute chaîne unique qui identifie l'utilisateur. Il existe des préoccupations distinctes concernant l'envoi d'informations confidentielles à une adresse e-mail potentiellement erronée; Je ne les aborderai pas.

Concernant le problème "la chaîne d'identification de l'utilisateur a changé", le site web sur lequel je travaille a implémenté une solution qui fonctionne comme suit:

  • Lorsqu'un ID utilisateur change, l'ancien ID est toujours réservé pour une période de temps.
  • Lorsqu'un utilisateur se connecte avec son nouvel ID, l'ancien ID est libéré pour être réutilisé par un autre utilisateur ultérieurement.
  • Si l'utilisateur se connecte avec l'ancien ID, le système lui montre une page qui indique que son ID a changé et quel est le nouvel ID. Ceci est considéré comme sécurisé car l'ID n'est qu'un nom et le mot de passe est requis. Vraisemblablement, seul l'utilisateur connaît son mot de passe.
  • Sur la page "nom d'utilisateur modifié", il y a un lien qui emmène l'utilisateur sur le site. Cliquer sur ce lien libère l'ancien ID. Les futures tentatives de connexion avec l'ancien ID échouent.

Si un utilisateur modifie son ID en raison d'un problème de sécurité, ce qu'il devrait vraiment faire, c'est changer son mot de passe. Dans ce cas, l'ID est un nom d'utilisateur connu du public, donc le modifier à des fins de sécurité n'a aucun avantage.

Si vous devez vous assurer qu'un e-mail est envoyé à la bonne adresse, vous devez implémenter une sorte de système dans lequel le destinataire de l'e-mail peut authentifier l'adresse e-mail et prouver la réception du courrier, y compris peut-être une partie de informations de bande comme un SMS message ou quelque chose. C'est un problème distinct, cependant.

1