Development #40862
auth_fc: logguer en erreur les connexions échoués à FC
0%
Description
S'il est impossible de joindre le site de FC, il faut logguer en erreur la cause et non en warning.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Fichier 0001-auth_fc-log-transport-format-errors-as-errors-40862.patch 0001-auth_fc-log-transport-format-errors-as-errors-40862.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Paul Marillonnet il y a environ 4 ans
- J'avoue ne pas comprendre sur quelles bases certains
self.logger.warning
restent inchangés dans le code tandis que d'autres deviennent desself.logger.error
.
- Et aussi :
- logger.debug('token resolved : {}'.format(response)) + logger.debug('token resolved : %s', response)
je ne serais pas pour relancer cette guerre :)
(d'autant plus que les f-strings vont arriver vite, python3.6 il me semble)
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
- J'avoue ne pas comprendre sur quelles bases certains
self.logger.warning
restent inchangés dans le code tandis que d'autres deviennent desself.logger.error
.
Quand c'est l'utilisateur qui peut provoquer l'erreur c'est un warning (genre si on reçoit "code-invalid" parce que le code est déjà utilisé on veut pas recevoir de mail).
- Et aussi :
[...]
je ne serais pas pour relancer cette guerre :)
(d'autant plus que les f-strings vont arriver vite, python3.6 il me semble)
Quelle guerre ? Aucun dév n'utilise format() dans les logs, c'est interdit. Je ne sais pas qui a fait ça (c'est Mike, il est excusé. il est CPF).
Mis à jour par Paul Marillonnet il y a environ 4 ans
Benjamin Dauvergne a écrit :
Quand c'est l'utilisateur qui peut provoquer l'erreur c'est un warning (genre si on reçoit "code-invalid" parce que le code est déjà utilisé on veut pas recevoir de mail).
Ok. Dans ce cas FcOAuthSessionViewMixin.dispatch
nonce = self.id_token.get('nonce')
states = request.session.get('fc_states', {})
if not nonce or nonce not in states:
self.logger.warning(u'invalid nonce in id_token %s, known ones %s', nonce,
u', '.join(states.keys()))
et
self.user_info = self.get_user_info()
if not self.user_info:
self.logger.warning('userinfo resolution failed: %s', self.token)
sont je crois de la mécanique OIDC et pas des choses déclenchables par l'utilisateur, et pourtant laissées en warning.
Quelle guerre ? Aucun dév n'utilise format() dans les logs, c'est interdit.
C'est ce que disent les partisans du style %-string. ☺
Plus sérieusement, je n'étais pas au courant de cette interdiction. La doc du module indique par exemple que
If you are using {}-formatting (str.format()), you can use {attrname} as the placeholder in the format string […].
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
Benjamin Dauvergne a écrit :
Quand c'est l'utilisateur qui peut provoquer l'erreur c'est un warning (genre si on reçoit "code-invalid" parce que le code est déjà utilisé on veut pas recevoir de mail).
Ok. Dans ce cas
FcOAuthSessionViewMixin.dispatch
[...]
et
[...]
Le premier ça peut arriver si tu joues avec tes sessions sinon ça n'arrive jamais, le deuxième je te l'accorde mais pareil ça n'arrive jamais, ça bloque avant.
Plus sérieusement, je n'étais pas au courant de cette interdiction. La doc du module indique par exemple que
[...]
C'est pas compatible python 2.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Benjamin Dauvergne a écrit :
Le premier ça peut arriver si tu joues avec tes sessions sinon ça n'arrive jamais
Ok.
C'est pas compatible python 2.
Ah bein ok dommage.
Ack.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 79134e00fb0c9baee6b6561d08756f01b9f343a1 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Mar 27 15:29:53 2020 +0100 auth_fc: log transport format/errors as errors (#40862)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
auth_fc: log transport format/errors as errors (#40862)