Projet

Général

Profil

Bug #81070

Crash sur mauvaise configuration cliente

Ajouté par Sentry Io il y a 8 mois. Mis à jour il y a 8 mois.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
11 septembre 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/publik/issues/115020/

KeyError: 'givennname1'
  File "django/db/models/options.py", line 608, in get_field
    return self.fields_map[field_name]

FieldDoesNotExist: User has no field named 'givennname1'
(13 additional frame(s) were not displayed)
...
  File "mellon/backends.py", line 54, in authenticate
    adapter.provision(user, idp, saml_attributes)
  File "authentic2_auth_saml/adapters.py", line 104, in provision
    super().provision(user, idp, saml_attributes)
  File "mellon/adapters.py", line 503, in provision
    self.provision_attribute(user, idp, saml_attributes)
  File "mellon/adapters.py", line 519, in provision_attribute
    model_field = user._meta.get_field(field)
  File "django/db/models/options.py", line 610, in get_field
    raise FieldDoesNotExist("%s has no field named '%s'" % (self.object_name, field_name))

Historique

#1

Mis à jour par Nicolas Roche il y a 8 mois

  • Projet changé de Suivi des traces à django-mellon
  • Sujet changé de FieldDoesNotExist: User has no field named 'givennname1' à Mauvaise configuration cliente

On a cette configuration (qui semblait donc être erronée) de donnée dans la sentry :

attribute_mapping = {givennname1: 'attributes[givenname2][0]'}

à priori c'est à relier à #81029.

#2

Mis à jour par Nicolas Roche il y a 8 mois

L'idp ne renvoit plus d'attributs de mapping à présent, comme le montre les lignes ci-dessous qui rejouent la sentry :

   $ sudo -u authentic-multitenant authentic2-multitenant-manage shell -d connexion-quimper.test.entrouvert.org
   from mellon import utils
   [x['UUID'] for x in utils.get_idps()]
   ['5be2a7b3-0147-4fd1-ac02-f1864a127199']
   idp = utils.get_idp('https://sts.windows.net/5df27e88-439d-4990-b528-a94c52c280bd/')
   utils.get_setting(idp, 'ATTRIBUTE_MAPPING')
   {}

En faisant un export de la conf :
https://connexion-quimper.test.entrouvert.org/manage/authenticators/3/detail/#open:setattributeaction
Je vois que les champs utilisateurs à affecter à partir des attributs SAML sont en fait rangés dans le champ "related_objects".
Je ne sais pas pourquoi mellon cherche à un autre endroit quand il provisionne les attributs, cependant je note ici que tout est rentré dans l'ordre afin de pouvoir fermer cette sentry.

#3

Mis à jour par Nicolas Roche il y a 8 mois

  • Sujet changé de Mauvaise configuration cliente à Crash sur mauvaise configuration cliente

Je ne sais pas pourquoi mellon cherche à un autre endroit quand il provisionne les attributs,

Trouvé ici :
https://connexion-quimper.test.entrouvert.org/manage/authenticators/3/edit/#open:avance

Mapping des attributs (déprécié)

Et donc ce bug concernerait du code déprécié.

Formats disponibles : Atom PDF