etalab / admin_api_entreprise

Site vitrine / backoffice de API Entreprise
https://entreprise.api.gouv.fr
MIT License
9 stars 5 forks source link

Magic links: undefined method `email` for nil:NilClass si le jeton est invalide #933

Closed Samuelfaure closed 1 year ago

Samuelfaure commented 1 year ago

A voir et comprendre pourquoi

image Reproduction: essayer de se connecter en magic link local

(A noter, le mail n'était pas envoyé précedemment, mais suite à https://github.com/etalab/admin_api_entreprise/pull/932 le mail est bien affiché en console mais il reste une erreur en console + l'erreur en tentant de se connecter)

skelz0r commented 1 year ago

Le problème me semble assez obvious en lisant le code de cette classe => mettre un access token qui n'existe pas en db.

Faut faire un test de non-régression et prouver que ça ne marche pas.

Samuelfaure commented 1 year ago

Okay c'était un faux problème en fait: Le lien était de la forme suivante

http://entreprise.api.localtest.me/compte/se-connecter/lien-magique?access_token=3Da42a082c4acc01d7b14a"

On a probablement copié le "3D" avec l'access token. Je voudrais bien enlever ce 3D mais ça ne semble pas possible => https://stackoverflow.com/questions/25689375/rails-2-mailer-view-prepending-3d-to-strings

Ça serait cool qu'on puisse faire différemment pour les mails que copier en console, que cette erreur n'arrive plus dans un moment de distraction. Si quelqu'un a une suggestion, sinon je ferme.

skelz0r commented 1 year ago

Je re-remet le label parce qu'il s'agit d'un vrai bug à corriger.

Si tu veux tester en local une connexion avec un magic link tu génères ça dans les seeds et tu le print en console.