Bug #84667
saml identifier plus lié à un Issuer, AttributeError: 'NoneType' object has no attribute 'entity_id'
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/117325/
J'imagine que le service SAML a été retiré, que ça a mis le saml_identifier à None, mais je n'ai pas vérifié le code.
AttributeError: 'NoneType' object has no attribute 'entity_id' File "authentic2/utils/hooks.py", line 56, in call_hooks yield hook(*args, **kwargs) File "authentic2_auth_saml/apps.py", line 51, in a2_hook_manager_user_data user_saml_identifier.idp = get_idp(user_saml_identifier.issuer.entity_id) exception while calling hook <bound method AppConfig.a2_hook_manager_user_data of <AppConfig: authentic2_auth_saml>>
Historique
Mis à jour par Paul Marillonnet il y a 5 mois
Étrange, il y a des choses à surveiller en particulier dans l’ORM Django qui pourraient expliquer que la suppression en cascade du modèle mellon
class UserSAMLIdentifier(models.Model):
# […]
issuer = models.ForeignKey('mellon.Issuer', verbose_name=_('Issuer'), null=True, on_delete=models.CASCADE)
se serait mal passée ?Mis à jour par Benjamin Dauvergne il y a 5 mois
Ou alors l'issuer n'a jamais été défini je ne me rappelle pas la raison de ce null=True.
Mis à jour par Serghei Mihai il y a 5 mois
J'ai du faire une erreur de manip hier lors du rattachement de l'instance de test de Montreuil à celle d'Est-Ensemble.
J'ai recopié les fédérations des agents avec l'idp de Montreuil mais l'issuer n'existe pas encore puisqu'ils doivent mettre à jour les métadonnées d'a2 dans leur IDP.
J'ai créé un issuer correspondant à l'entity_id et lié les objets UserSAMLIdentifier.
Retirer le null=True
permettrait d'éviter ces erreurs.
Mis à jour par Benjamin Dauvergne il y a 5 mois
Oui mais il faudra mettre on_delete=models.PROTECT pour éviter les drames.