Development #57525
crash sur date_joined utilisé en claim oidc, Object of type datetime is not JSON serializable
Début:
01 octobre 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/52178/
File "authentic2_idp_oidc/views.py", line 761, in token response = tokens_from_authz_code(request) File "authentic2_idp_oidc/views.py", line 746, in tokens_from_authz_code 'id_token': utils.make_idtoken(client, id_token), File "authentic2_idp_oidc/utils.py", line 101, in make_idtoken jwt = JWT(header=header, claims=claims) File "jwcrypto/jwt.py", line 201, in __init__ self.claims = claims File "jwcrypto/jwt.py", line 239, in claims self._claims = json_encode(c) File "jwcrypto/common.py", line 34, in json_encode return json.dumps(string, separators=(',', ':'), sort_keys=True) File "__init__.py", line 238, in dumps **kw).encode(obj) File "json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "json/encoder.py", line 179, in default raise TypeError(f'Object of type {o.__class__.__name__} ')
dans make_idtoken on se trouve avec claims qui contient :
{accord_placit: None, accord_placit_listing: None, aud: 'b725302d-8ba1-4e2f-a64c-d76190405154', auth_time: [Filtered], date_joined: datetime.datetime(2021, 9, 17, 7, 48, 2, 545741, tzinfo=<UTC>), email: '...', ...
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-idp_oidc-refactor-cleaning-of-claim-values-57525.patch 0001-idp_oidc-refactor-cleaning-of-claim-values-57525.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-idp_oidc-refactor-cleaning-of-claim-values-57525.patch 0001-idp_oidc-refactor-cleaning-of-claim-values-57525.patch ajouté
- Statut changé de En cours à Solution proposée
pylint n'aime pas (à raison en général) l'interpolation directe dans la chaîne du message de log; mais le fait est que sentry déduplique les traces à partir de cela, il faut donc mettre directement dedans les choses dont on pense qu'elles devraient servir à la déduplication. Ici je souhaite qu'une trace soit différente si claim.name/claim.value diffèrent.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Ok.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 7d2c4ef181a3aaeb23bf60b449df939842aa69ed Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 1 18:58:46 2021 +0200 idp_oidc: refactor cleaning of claim values (#57525)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
idp_oidc: refactor cleaning of claim values (#57525)