Closed ksamuel closed 7 years ago
Je viens de rajouter un nouveau commit qui permet de choisir de désactivé la capture de toutes les exceptions par @check_auth
.
Par défaut et pour rester compatible avec l'ancienne implémentation, la fonctionalité est désactivée et demande que le flag de configuration TRAP_ALL_EXCEPTIONS
soit passé à False pour l'activer volontairement.
En effet le try/except
de @check_auth
est très large et attrape tout enfant de la classe Exception
, ce qui est presque toutes les classes d'erreurs en Python. Cela signifie que les pages d'erreur qui s'affichent normalement en mode DEBUG ainsi que les handlers pour les 404, 403, 500, etc. ne s'affichent plus pour toute vue protégée par @check_auth
.
Salut @amandine-sahl , est ce que tu as eu le temps de jeter un coup d'oeil à cette PR ? A++
Dans ce dernier changeset, je rajoute un "relationship" helper sur le model AppUser, ce qui permet de récupérer le user ou l'application depuis AppUser simplement en faisant une lecture d'attribut:
In [1]: u = AppUser.query.all()[0]
In [2]: u.role
Out[2]: <User ''test'' id='1'>
Merci Amandine. A+
Bonjour,
Après quelques tests je me suis apperçu que certaines exceptions étaient retournées au lieux d'être raisées. Par ailleurs, en cas de token invalide, on ne pouvait pas faire de redirection optionelle comme avec les token expirés. Enfin en cas de problème avec le token, le cookie restait, ce qui pouvait induire l'utilisateur dans une boucle.
Voici une PR qui propose une solution a ces 3 problèmes.