Device, password filtré

Slt,
J’ai un p’tit souci avec la Gem Device pour Rails. Je souhaite récupérer un clair le mot de passe de l’utilisateur pour l’enregistrer dans une autre colonne dans la Table (car son identifiant va être utilisé pour ce connecté a un programme).
J’arrive à récupérer cette valeur en clair lors de l’inscription de l’utilisateur, mais si l’utilisateur souhaite changer son mot de passe ou si il perd sont mot de passe et souhaite le réinitialiser le mot de passe est FILTRÉ, impossible d’avoir le contenu entré par l’utilisateur.

Il y a bien un :
Rails.application.config.filter_parameters += [:password]
dans le fichier « filter_parameter_loggin.rb », mais ce n’est pas ça qui gère apparemment la protection.

merci à ceux qui auront une idée :) !!

Salut, bon courage pour ton besoin.

Je n’aime pas dire « non fais pas ça tu as tort », alors je vais dire « s’il te plaît ne fais pas ça, tu t’en mordrais les doigts, regarde comment font les autres, et tout au long de ce chemin nous allons apprendre et enseigner des trucs ».

1. C’est tellement dangereux que c’est interdit
2. Ce n’est pas technique, c’est humain.
3. Fais comme les autres
4. Passe le message


1. C’est dangereux de travailler avec les mots de passe en clair. Voyons pourquoi.

Si un user a la moindre fuite*, il est fichu : le pirate se fait tout renvoyer.

  • il oublie son mail ou son téléphone, ses enfants le regardent taper son mot de passe, il a utilisé le même pass pour un site dont la sécurité s’est faite péter, son conjoint est un mari qui contrôle tout…)

Si tu as la moindre fuite* tu es fichu et eux aussi : tu as probablement un compte admin quelque part, et tu viens de m’offrir la clé. Ou alors la clé de tous tes clients.

  • tu perds ton ordi, tu commit une clé sur github, tu donnes un mot de passe à quelqu’un, tu exportes des données pour le marketing et PAF les pass étaient dedans, tu oublies de configurer n’importe quel morceau de ta config…

Si un AUTRE site a la moindre faille, et que certains users utilisent le même pass là-bas et chez toi (ça va arriver, promis, et tu ne peux pas le contrôler), tout est fichu pareil.

Enfin, grâce (oui, grâce : ça t’embête mais ça nous oblige tous à faire mieux, et donc ça nous protège tous) à la loi RGPD, si tu as le moindre souci, quand tu t’en rendras compte, tu devras annoncer ton échec à tous tes utilisateurs (sous peine de grosse amende) et tu perdras leur confiance.

2. Ce n’est pas un problème technique, c’est un problème humain.
L’état de l’art est le suivant : quand tu t’inscris chez moi, je chiffre ton mot de passe.
Quand tu reviens, tu renvoies un mot de passe, je le chiffre de la même manière.
Si les deux correspondent, je pense très fort que c’est toi.

En tout cas, mathématiquement, il y a des gens très forts qui ont bossé très dur. J’y crois.
La cryptographie, ça marche, si tu ne laisses pas la clé sur la porte.

Donc le souci c’est qu’on veut se faire renvoyer le pass par confort.
Or, on a vu que CE confort était vraiment trop dangereux.
Pourtant, il existe d’autres manières de faire tout aussi confortables !

3. Je te propose de faire autrement. Comment font tes sites favoris ? Fais comme eux.

Je t’ai convaincu ? Tu veux changer ? Tu ne sais pas quoi inventer ?
Déjà, Devise propose certainement ça, regarde un peu dans la doc.

Ensuite, regarde Google, Twitter et les autres : on considère que ton mail est une forteresse, tu peux te faire renvoyer un pass temporaire, ou bien un lien de reset de mot de passe.
Souvent ce lien est temporaire (20mn ?). Souvent, il explique « si ce n’est pas vous qui avez demandé un reset de pass, méfiez-vous ». Et c’est très bien ainsi.

Essaie de te faire renvoyer un pass ou un compte sur tes services favoris, tu verras bien. A priori tu ne risques pas grand chose à te pirater toi-même :)

Attention : parfois un site web avec des photos de chats est mieux protégé que ta banque ou ton opérateur téléphonique. C’est un peu déprimant.

4. Ce n’est probablement pas toi qui as eu l’idée, tu dois convaincre d’autres gens.

Je ne suis pas très diplomate mais tu peux leur envoyer ce lien.
Ils peuvent utiliser leur moteur de recherche favori, il y a sûrement plus pédagogique (mais aussi plus violent) que moi.

Bon courage et bon travail,

2 « J'aime »
Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s