Lorsque que l'on se crée un compte sur Linuxfr, on nous envoie un email avec le mot de passe et un lien de confirmation. Si cet email est perdu, on peut demander son renvoi.
L'email renvoyé ne contient alors pas le mot de passe.
<francois2_> dans linuxfr, si je crée un compte, je redemande l'email de confirmation, le champ password n'est pas rempli
<francois2_> il est bien rempli dans le premier mail
<francois2_> j'arrive pas encore a suivre le code pour savoir ou est le code
<francois2_> ce qui dans views/devise/mailer est géré par devise ?
<N`> oui
<N`> je ne vois pas comment devise pourrait connaître le mot de passe lors du second email
<N`> à ce moment là, il est hashé en base de données
Il faudrait trouver un moyen pour mettre le mot de passe dans le nouveau email:
- demander à l'utilisateur son mot de passe lors de la création de son compte
- régénérer un mot de passe lors d'une demande de renvoi
- une meilleure idée
# Corrigé
Posté par Bruno Michel (site web personnel) . Évalué à 2 (+0/-0).
Bof, j'ai volontairement choisi de générer des mots de passe plutôt que de laisser les utilisateurs en choisir à l'inscription. Ça fait un champ de moins à remplir pour l'utilisateur (en fait, 2 avec la confirmation) et surtout ça fait des mots de passe par défaut qui ne sont pas trop faibles (après, l'utilisateur peut le changer pour ce qu'il veut).
Cette solution ne me plaît pas. J'ai l'impression qu'elle risque de causer plus de problèmes qu'elle ne va en résoudre, notamment avec le graylisting. L'utilisateur risque de recevoir le premier mail après avoir demandé le second et se retrouver avec un mot de passe qui ne fonctionne pas.
Je ne sais pas si c'est une meilleure idée, mais j'envoie dans le second mail une explication avec le lien pour demander un nouveau mot de passe.
Cf https://github.com/nono/linuxfr.org/commit/2a8d1de8954f35928527f8f7b7ef6b5cf015255d
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.