Si vous suivez le modèle d'autoriser les utilisateurs à accéder à votre application sans avoir confirmé un e-mail (généralement considéré comme une bonne UX), comment gérer le cas où ils ont oublié leur mot de passe? Très important dans ce cas particulier car le site contient des informations personnelles sur la santé.
De toute évidence, leur envoyer un e-mail avec des instructions pour le réinitialiser n'est pas approprié, car leur e-mail n'est pas encore vérifié. J'ai proposé quatre solutions, mais comme aucune d'entre elles.
Geler un utilisateur après, disons, 1 semaine s'il n'a pas confirmé son e-mail. Ensuite, pendant cette période de grâce d'une semaine, ils ne peuvent pas récupérer leur e-mail. (Un peu problématique, car il s'agit d'un problème de sécurité pour révéler si une adresse e-mail est enregistrée lors d'un mot de passe oublié.
Ajoutez "question de sécurité" à l'inscription. Mauvais pour des raisons assez évidentes.
Ne les laissez pas utiliser le site sans avoir confirmé leur adresse e-mail. Aussi mauvais.
Laissez-les simplement récupérer leur mot de passe même sans e-mail confirmé, mais ajoutez du texte dans le site "si vous n'avez pas confirmé votre e-mail, quelqu'un pourrait avoir accès à vos informations de santé privées." Cela s'afficherait dans une bannière en haut de l'écran jusqu'à ce qu'ils s'inscrivent et aurait la possibilité de renvoyer l'e-mail à l'adresse e-mail de leur choix. Cela pourrait être le pire cas de sécurité de tous.
Des idées?
Ne demandez pas de mot de passe tant que l'adresse e-mail n'a pas été confirmée.
Le problème est parti!
Utilisez le processus d'engagement progressif et démarrez-le en ne demandant que l'adresse e-mail.
En attendant, invitez-les à parcourir le site ou à parcourir quelques informations d'introduction, mais ne leur laissez rien faire en matière de sécurité tant que l'e-mail n'a pas été confirmé.
Donnez-leur la possibilité d'afficher ou de modifier l'adresse e-mail ou de renvoyer l'e-mail de confirmation si nécessaire (par exemple, il ne s'affiche pas pour une raison quelconque).
Voici le formulaire d'inscription de Gravatar
Edit: Gravatar me dit que le plus gros inconvénient de ce mécanisme est la récupération de compte pour les personnes qui ont par la suite perdu l'accès à une adresse e-mail et qui n'ont pas pris la peine de enregistrer une autre adresse e-mail qui les aiderait à s'identifier.
Je pense que vous pouvez essayer de renvoyer l'e-mail de confirmation en cas de mot de passe oublié. Ainsi, l'utilisateur obtiendra une nouvelle confirmation sur l'ancien e-mail (spécifié à l'étape d'enregistrement) et après confirmation, il pourra réinitialiser le mot de passe en utilisant la procédure standard.
Et vous pouvez également limiter les fonctionnalités (laisser les utilisateurs lire mais pas les laisser écrire, etc.) jusqu'à confirmation. Cela motivera les utilisateurs à confirmer rapidement leurs e-mails et à s'assurer que les e-mails ont été saisis correctement, etc.
Si votre site possède d'autres fonctionnalités, laissez un utilisateur connecté accéder à ces fonctionnalités sans e-mail confirmé. Mais dès qu'ils veulent créer un lien vers des informations confidentielles, ils ont besoin d'un e-mail confirmé.
La réponse simple est que vous ne devez pas autoriser la réinitialisation du mot de passe (de quelque manière que ce soit) si l'adresse e-mail n'a pas été confirmée et que vous vous souciez de la sécurité.
Les questions secrètes ne sont qu'une autre version beaucoup moins sûre d'un mot de passe et nuisent considérablement à la sécurité.
La seule vraie option pour renvoyer une confirmation par e-mail. Cependant, vous ne devez laisser personne se connecter à un compte à moins que l'e-mail ne soit confirmé. Si vous faites cela, vous n'aurez pas ce problème en premier lieu.
Aussi mauvais que cela puisse paraître, 3 est la seule option raisonnable, surtout si des informations personnelles sont impliquées. Si l'utilisateur ne comprend pas l'importance de cela, il va peut-être copier et coller son dossier de santé sur son compte Facebook, vous pouvez donc le garder de toute façon ...
J'obtiens la boîte aux lettres fourre-tout pour mon domaine enregistré, c'est-à-dire la boîte aux lettres où chaque courrier est envoyé lorsque le nom de la boîte aux lettres ou un alias pour celui-ci n'existe pas. Régulièrement, j'y reçois exactement ces mails: Vous vous êtes inscrit à notre service, veuillez confirmer. Il semble que ce soient les mêmes 2 ou 3 utilisateurs qui souhaitent s'inscrire à certains sites de jeux en utilisant une fausse adresse e-mail, en choisissant mon domaine pour cela.
Bien sûr, je ne confirme jamais. S'ils veulent faire quelque chose d'illégal, le service aurait mon adresse e-mail confirmée liée à mon domaine. S'ils veulent jouer là-bas, ils peuvent le faire sous leur propre adresse. Et c'est une autre raison pour ne pas permettre à l'utilisateur de faire quoi que ce soit: pour protéger les propriétaires innocents des adresses e-mail. Si je n'obtenais pas le fourre-tout, je ne serais même pas au courant.
Si je serais malveillant, je pourrais simplement essayer de réinitialiser leur mot de passe, en entrant dans leur compte. Il y a une dizaine d'années, j'avais un e-mail où le service ne nécessitait pas de confirmation, mais à la place, j'ai envoyé le nom du compte avec le mot de passe initial choisi par l'utilisateur en texte brut comme confirmation d'inscription ...
C'est plus une question que j'ai dans mon esprit (contenant une réponse à toutes les autres réponses parlant de sécurité), que j'ajoute à la liste de réponses ... et j'ajoute à la complexité de la question déjà posée.
Il y a tellement de façons dont nous sommes passés en revue ici ... mais chacun a un flux, laissez la revue:
Et ... beaucoup d'autres cas qui peuvent "heurter le mur" (échoue), Donc, soit le compte de perte d'utilisateur et plus tard, ils doivent utiliser un e-mail secondaire, dont ils ne se souviendront pas la prochaine fois ... (La plupart les clients ne sont pas aussi intelligents que nous) (ils le sont mais ils ne veulent pas essayer ou apprendre), parce que leur e-mail principal est bloqué avec un compte oublié par mot de passe, ou la sécurité sera faible, ou nous devons supprimer le compte et recréer des données entières, ou forcer l'utilisateur à utiliser la confirmation par e-mail (qu'il peut laisser) à chaque tentative de connexion ou réinitialiser le mot de passe, etc. ...
Nous avons tellement de solutions qui ont leurs hauts et leurs bas.
Alors quelle est la meilleure solution? Commentez s'il vous plait ...
je veux aussi connaître vos choix
BTW, il y a un autre cas d'information à considérer ....
Si l'utilisateur oublie son mot de passe:
Je veux juste vérifier que je comprends la situation qui vous inquiète:
Maintenant, vous dites:
De toute évidence, leur envoyer un e-mail avec des instructions pour le réinitialiser n'est pas approprié, car leur e-mail n'est pas encore vérifié.
Je ne suis pas si sûr. Soit: 1. Ils n'ont pas saisi correctement leur e-mail, et ni l'e-mail de confirmation, ni la réinitialisation du mot de passe ne parviendront à la bonne personne; ou 2. Ils l'ont tapé correctement, et probablement l'e-mail de confirmation l'a fait, tout comme un e-mail de réinitialisation de mot de passe.
Il semble que vous craigniez que le fait qu'ils n'aient pas cliqué sur le bouton de confirmation précédemment est en quelque sorte une faiblesse de sécurité en soi?
Dans le cas 1, ils sont bloqués. Ils ne nous ont jamais fourni d'informations nous permettant de les vérifier. Si des informations personnelles sur la santé sont en jeu, je ne pense pas que vous puissiez sacrifier la sécurité pour une "bonne UX".
Dans le cas 2, fournissez une option pour renvoyer l'e-mail de confirmation. Vous leur demandez peut-être de vous communiquer à nouveau leur adresse e-mail (si ce n'est pas leur identifiant).