Bug #75474
auth_oidc : le choix des attributs de mapping est extensif mais l’initialisation de ceux-ci ne retient que les attributs actifs
0%
Description
Ce qui fait qu’on peut définir un mapping claims -> attributs pour des attributs inactifs, mais qu’au SSO (ou en asynchrone à l’interrogation de l’endpoint UserInfo) on ne retrouve que les attributs actifs.
History
Updated by Paul Marillonnet 5 days ago
- Status changed from Nouveau to En cours
- Assignee set to Paul Marillonnet
Je regarde.
Updated by Gitea (Bot) Gitea 4 days ago
- Status changed from En cours to Solution proposée
Paul Marillonnet (pmarillonnet) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/24
- Titre : auth_oidc: exclude disabled attributes in claim mapping form (#75474)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/24/files
Updated by Benjamin Dauvergne 4 days ago
Ok mais ça ne va pas corriger le bug, il doit y avoir une partie dans authentic2_auth_oidc.backends pour ignorer les règles existantes et aussi peut-être dans OIDCProvider.perform_synchronisation() (bêtement en filtrant OIDCClaimMapping sur attribute en excluant les attributs désactivés).
Updated by Benjamin Dauvergne 4 days ago
Et patch actuel pas nécessaire, ils sont déjà filtré sur .objects
:
objects = managers.AttributeManager(disabled=False)
le problème est vraiment uniquement dans backends.py.
Updated by Paul Marillonnet 4 days ago
- Status changed from Solution proposée to En cours
Benjamin Dauvergne a écrit :
Et patch actuel pas nécessaire, ils sont déjà filtré sur
.objects
:
[...]
le problème est vraiment uniquement dans backends.py.
Ah oui alors je n’ai pas compris comment la trace était survenue. Je vais reprendre de zéro pour tenter de capter le truc.
Updated by Benjamin Dauvergne 4 days ago
Ben si tu regardes la trace elle est bien dans backends et les mappings datent forcément d'avant la désactivation du champ.
Updated by Paul Marillonnet 4 days ago
Benjamin Dauvergne a écrit :
les mappings datent forcément d'avant la désactivation du champ.
Oui j’ai mis du temps à comprendre cela, merci :)
Updated by Paul Marillonnet 4 days ago
- Status changed from En cours to Solution proposée
Voilà, je veux bien juste laisser le test de l’ancien commit (parce que sans cela je sens que dans trois mois j’aurais à nouveau oublié cette histoire d’object manager qui filtre en douce les attributs activés).