Projet

Général

Profil

Bug #75786

auth_oidc: InvalidJWSSignature qui remonte ou get_key qui échoue

Ajouté par Benjamin Dauvergne il y a environ un an. Mis à jour il y a 5 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
24 mars 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/publik/issues/109238/?environment=test&referrer=alert_email

https://sentry.entrouvert.org/entrouvert/publik/issues/109237/?environment=test

Sur une configuration OIDC au finistère où le document JWK n'a pas été configuré, on a de même un souci quand le kid dans le JWT n'est pas trouvé, dans les deux cas il faut éviter.

  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/views.py", line 134, in get
    response = self.handle_authorization_response(request)
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/views.py", line 178, in handle_authorization_response
    return self.handle_code(request, provider, nonce, code)
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/views.py", line 291, in handle_code
    user = authenticate(
  File "/usr/lib/python3/dist-packages/authentic2/utils/misc.py", line 1308, in authenticate
    return dj_authenticate(request=request, **kwargs)
  File "/usr/lib/python3/dist-packages/django/views/decorators/debug.py", line 42, in sensitive_variables_wrapper
    return func(*func_args, **func_kwargs)
  File "/usr/lib/python3/dist-packages/django/contrib/auth/__init__.py", line 76, in authenticate
    user = backend.authenticate(request, **credentials)
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/backends.py", line 45, in authenticate
    return self._authenticate(
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/backends.py", line 56, in _authenticate
    id_token.deserialize(provider)
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/utils.py", line 143, in deserialize
    decoded = parse_id_token(self._encoded, provider)
  File "/usr/lib/python3/dist-packages/authentic2_auth_oidc/utils.py", line 67, in parse_id_token
    key = provider.jwkset.get_key(kid=kid)

Exception Type: AttributeError at /accounts/oidc/callback/
Exception Value: 'NoneType' object has no attribute 'get_key'

Révisions associées

Révision 2a94464e (diff)
Ajouté par Benjamin Dauvergne il y a 5 mois

auth_oidc: check provider.jwkset before using it (#75786)

When jwkset is necessary and missing, a warning message is issued.

Historique

#1

Mis à jour par Frédéric Péters il y a 10 mois

  • Description mis à jour (diff)
#2

Mis à jour par Benjamin Dauvergne il y a 5 mois

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Robot Gitea il y a 5 mois

  • Statut changé de Nouveau à Solution proposée

Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :

#4

Mis à jour par Robot Gitea il y a 5 mois

  • Statut changé de Solution proposée à Solution validée

Nicolas Roche (nroche) a approuvé une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Robot Gitea il y a 5 mois

  • Statut changé de Solution validée à Résolu (à déployer)

Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :

#6

Mis à jour par Transition automatique il y a 5 mois

  • Statut changé de Résolu (à déployer) à Solution déployée
#7

Mis à jour par Transition automatique il y a 3 mois

Automatic expiration

Formats disponibles : Atom PDF