Development #19837
idp oidc: journaliser les réponses des requetes invalides
100%
Description
Pour faciliter de debug.
Fichiers
Révisions associées
Historique
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-idp-oidc-log-invalid-request-s-response-errors-19837.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Josué Kouka il y a plus de 6 ans
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier
0001-idp-oidc-log-invalid-request-s-response-errors-19837.patchsupprimé
Mis à jour par Frédéric Péters il y a plus de 6 ans
Comme domaine de log oidc_authorization_error me semble bien trop spécifique.
Mis à jour par Josué Kouka il y a plus de 6 ans
Frédéric Péters a écrit :
Comme domaine de log oidc_authorization_error me semble bien trop spécifique.
Est ce que oidc_error
convient ? ça me fait penser à aussi enregistrer les erreurs liées à la vu token
Mis à jour par Frédéric Péters il y a plus de 6 ans
src/authentic2_idp_openid/views.py:logger = logging.getLogger('authentic.idp.idp_openid')
Le même domaine doit être utilisé. Et là je me rends compte que tu es dans le même fichier, tu as donc déjà cet objet logger.
Mis à jour par Josué Kouka il y a plus de 6 ans
Frédéric Péters a écrit :
[...]
Le même domaine doit être utilisé. Et là je me rends compte que tu es dans le même fichier, tu as donc déjà cet objet logger.
Le bon fichier ne serait pas src/authentic2_idp_oidc/views.py
?
Mis à jour par Frédéric Péters il y a plus de 6 ans
J'en sais rien j'ai lu rapidement déjà trop de temps passé. Astuce : regarder ce qui se fait, faire pareil.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-idp-oidc-log-invalid-request-s-response-errors-19837.patch 0001-idp-oidc-log-invalid-request-s-response-errors-19837.patch ajouté
Frédéric Péters a écrit :
J'en sais rien j'ai lu rapidement déjà trop de temps passé. Astuce : regarder ce qui se fait, faire pareil.
Ok. Un patch avec @logging.getLogger(__name__)
et test sur le logging des erreurs de la vue token aussi.
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Ça ne vas pas, tu ne peux pas faire ça
logger.debug('%s %s %s'...)
ou ça
content = {...} ... logger.debug(content, ...)
Il faut journaliser des phrases qui explique ce que décrit la ligne de log et l'évènement qui s'y rattache. Donc plutôt:
logger.debug('idp_oidc: authorization request error redirect_uri=%r error=%r error_description=%r etc...', ...)
Tu peux déclarer ton logger en début de fichier ça ne me gêne plus (en tout cas pas sur les fichiers views.py), pas la peine de tester les logs de debug dans les tests.
Je ne pense pas que le extra soit vraiment bien utile, il faut plutôt y mettre des choses qui permette de trier la ligne de log (ex.: redirect_uri ça permet de trier les erreurs venant d'un site précris, mettre error par contre c'est pas forcément utile).
Les erreurs d'autorisation je mettrai ça en warning plutôt qu'en debug, les erreurs sur le token endpoint je serai moins généreux je ne loggerai rien, ils reçoivent l'erreur c'est quand même assez clair, mais bon sinon en warning aussi.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-idp-oidc-log-invalid-request-s-response-error-19837.patch 0001-idp-oidc-log-invalid-request-s-response-error-19837.patch ajouté
Benjamin Dauvergne a écrit :
Ça ne vas pas, tu ne peux pas faire ça
[...]ou ça
[...]
Il faut journaliser des phrases qui explique ce que décrit la ligne de log et l'évènement qui s'y rattache. Donc plutôt:
[...]
Ok
Tu peux déclarer ton logger en début de fichier ça ne me gêne plus (en tout cas pas sur les fichiers views.py), pas la peine de tester les logs de debug dans les tests.
Préféré laisser dans la fonction surtout que c'est juste pour une seule ligne.
Je ne pense pas que le extra soit vraiment bien utile, il faut plutôt y mettre des choses qui permette de trier la ligne de log (ex.: redirect_uri ça permet de trier les erreurs venant d'un site précris, mettre error par contre c'est pas forcément utile).
OK
Les erreurs d'autorisation je mettrai ça en warning plutôt qu'en debug, les erreurs sur le token endpoint je serai moins généreux je ne loggerai rien, ils reçoivent l'erreur c'est quand même assez clair, mais bon sinon en warning aussi.
Les erreurs d'autorisation sont en warning, je ne logge plus les erreurs sur le token endpoint.
Je rajoute quand meme un petit test non polluant (comparé au précédent patch).
Mis à jour par Benjamin Dauvergne il y a plus de 6 ans
Ce n'est pas pythonique:
logger.warning('idp_oidc: authorization request error redirect_uri=%r error=%r error_description=%r' % (redirect_uri, error, error_description), extra={'redirect_uri': redirect_uri})
plutôt:
logger.warning(u'idp_oidc: authorization request error redirect_uri=%r error=%r error_description=%r' , redirect_uri, error, error_description, extra={'redirect_uri': redirect_uri})
Ça doit faire 20 fois que je te le signale mais toutes les méthodes de log gèrent elles même la chaîne de formatage, nul besoin d'utiliser l'opérateur de formatage, aussi il faut passer une chaîne de formatage unicode parce qu'il y a de l'unicode dans les chaînes de formatage des handlers.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-idp-oidc-log-invalid-request-s-response-error-19837.patch 0001-idp-oidc-log-invalid-request-s-response-error-19837.patch ajouté
Benjamin Dauvergne a écrit :
Ce n'est pas pythonique:
[...]
plutôt:
[...]Ça doit faire 20 fois que je te le signale mais toutes les méthodes de log gèrent elles même la chaîne de formatage, nul besoin d'utiliser l'opérateur de formatage, aussi il faut passer une chaîne de formatage unicode parce qu'il y a de l'unicode dans les chaînes de formatage des handlers.
Ok, c'est corrigé.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
commit bafb9dceb11b809fbdcf1da7a1b2a57e0df426da Author: Josue Kouka <jkouka@entrouvert.com> Date: Tue Jan 23 17:23:41 2018 +0100 idp oidc: log invalid request's response error (#19837)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
idp oidc: log invalid request's response error (#19837)