Bug #81070
Crash sur mauvaise configuration cliente
0%
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
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.
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.
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é.