Compte désactivé = erreur 490
Version Develop
Description du bug
Lorsqu'une personne avec un compte désactivé essaye de se connecter, elle obtient une message d'erreur "490 - No Reason Phrase id requete: undefined".
Comportement attendue
Plutôt que ce message d'erreur n'apportant aucune information, il faudrait afficher une message du style "Connexion refusée - Votre compte est désactivé".
Comment reproduire Via UsersHub désactiver un compte, puis tenter de se connecter avec sur GeoNature. Ci-dessous un exemple du message obtenu:

Je dirais que le comportement d'un compte désactivé doit être le même que celui d'un compte non existant, du coup effectivement le statut 490 n'est pas forcément celui consacré mais si on change tout ça une 401 dans les deux serait le plus pertinent
mais si on change tout ça une 401 dans les deux serait le plus pertinent
Oui, mais surtout au niveau du frontend, il faudrait afficher à l'utilisateur un message compréhensible !
Il y a deux choses :
- Que le compte soit désactivé ou que le couple login / mot de passe soit incorrecte, on a dans les deux cas cette 490 assez horrible. Il faudrait grandement simplifier le code d’authentification qui gère 12 exceptions différentes, pour renvoyer des 403 correctes. Cela se passe du côté de UsersHub-authentification-module. Le mieux étant encore d’utiliser une bibliothèque d’authentification reconnue plutôt que de maintenir notre propre système d’authentification.
- Il serait effectivement pas mal de distinguer des identifiants incorrectes vs un compte désactivé. Malheureusement, les comptes désactivés sont filtré par une vue, ne permettant pas au backend de savoir pourquoi il n’a pas trouvé l’identifiant recherché. Cela suppose donc une refonte relativement profonde du mécanisme d’authentification. Mais là encore, passer à l’utilisation d’une bibliothèque d’authentification reconnue serait le meilleur choix.