Development #3852
Permette la gestion graphique du flag is_admin et du mapping entre attributs SAML et champs utilisateurs
100%
Description
- admin-regexp: un dictionnaire de nom d'attribut et de regexp, ils doivent tous matcher pour qu'un utilisateur soit admin
- attribute-mapping: un dictionnaire de nom d'attributs vers les identifiants de champs utilisateurs.
Fichiers
Demandes liées
Révisions associées
qommon.ident.idp: allow customizable rules to set is_admin flag from SAML 2 attributes
refs #3852
qommon.ident.idp; allow mapping from SAML 2 attributes to user fields
refs #3852
qommon.saml2: use new idp settings to fill user attribute at SAML 2 login
fixes #3852
translation update
refs #3852
Historique
Mis à jour par Frédéric Péters il y a plus de 10 ans
- Assigné à mis à Benjamin Dauvergne
C'était plutôt à mon sens à l'IdP de fournir un attribut à utiliser pour déterminer si l'utilisateur est admin, plutôt que d'avoir la définition de ces règles côté wcs; et le travail "eole-sso" va dans le sens de cette possibilité. Ça permettrait au deuxième patch de demander un simple (champ, valeur) plutôt que d'offrir un WidgetDict contenant des regexps.
Pour les patchs sur les attributs utilisateur, il pourrait y avoir comme valeur par défaut la situation actuellement existante dans le module auquotidien ?
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch ajouté
- Fichier 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch ajouté
- Fichier 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch ajouté
Frédéric Péters a écrit :
C'était plutôt à mon sens à l'IdP de fournir un attribut à utiliser pour déterminer si l'utilisateur est admin, plutôt que d'avoir la définition de ces règles côté wcs; et le travail "eole-sso" va dans le sens de cette possibilité. Ça permettrait au deuxième patch de demander un simple (champ, valeur) plutôt que d'offrir un WidgetDict contenant des regexps.
Je ne suis pas attaché aux regexps plus que ça, je viens de les remplacer par des paires (champ, valeur).
Pour les patchs sur les attributs utilisateur, il pourrait y avoir comme valeur par défaut la situation actuellement existante dans le module auquotidien ?
Ce n'est pas la même chose, cela matche directement les field.varname qu'il faut penser à avoir défini avant, et donc de fait ça n'est pas très utilisable. Là on peut directement associer un nom d'attribut SAML à un champ via son label, mais c'est bien le field.id qui est conservé derrière ce qui est plus robuste. Je préfère laisser l'ancienne méthode dans auquotidien et l'utiliser quand rien d'autre n'est configuré pour être rétro-compatible; voir ticket #3854.
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier
0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier
0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier
0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch ajouté
- Fichier 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch ajouté
- Fichier 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch ajouté
Patchs testés...
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch ajouté
- Fichier 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch ajouté
- Fichier 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch ajouté
- La méthode fill_user_attributes() s'assure que form_data est défini.
- La valeur par défaut de admin-attributes est bonne maintenant.
- La clé de configuration utilisé par le formulaire est la bonne pour admin-attributes
Mis à jour par Frédéric Péters il y a plus de 10 ans
hint=_('First row match attribute names, second is regexp for matching attribute value'))
Je ne vois pas d'appel au module re. mentionné dans le fill_user_attributes, je rate un truc ou le texte est à changer ?
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
Frédéric Péters a écrit :
hint=_('First row match attribute names, second is regexp for matching attribute value'))
Je ne vois pas d'appel au module re. mentionné dans le fill_user_attributes, je rate un truc ou le texte est à changer ?
Ouaip le hint est faux, le fix:
diff --git a/wcs/qommon/ident/idp.ptl b/wcs/qommon/ident/idp.ptl index 45c3e88..3b58ae1 100644 --- a/wcs/qommon/ident/idp.ptl +++ b/wcs/qommon/ident/idp.ptl @@ -311,7 +311,7 @@ class AdminIDPDir(Directory): title=_('Attribute mapping'), element_value_type=SingleSelectWidget, element_value_kwargs={'options': options}, - hint=_('First row match attribute names, second is regexp for matching attribute value')) + hint=_('First row match attribute names, second row is the user field to fill')) form.add_submit('submit', _('Submit')) return form
Je vais ajouter les traductions aussi.
Mis à jour par Frédéric Péters il y a plus de 10 ans
Ok alors. Pour les traductions, si tu peux les placer dans un commit séparé, je préfère.
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Fichier 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch ajouté
- Fichier 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch ajouté
- Fichier 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch ajouté
Avec les trads..
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
J'avais pas vu ton dernier commentaire, je sépare les traductionss puis je pousse.
Mis à jour par Benjamin Dauvergne il y a plus de 10 ans
- Statut changé de Nouveau à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit b8579dacde66af55211dbecbb3baed75e8fad2ef.
Mis à jour par Frédéric Péters il y a plus de 10 ans
Correction à la volée de détails ayant échappés à la relecture.
commit 490faa937da76cdd527decea4da37a16a7a3b336 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Oct 23 15:38:20 2013 +0200 translation: update message after row/column change commit d84879b30f7b9bc8d929fb656a6a68e8a051d0d7 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Oct 23 15:38:11 2013 +0200 idp: fix row/column confusion commit 058361df7d85815d076c9fceb8fce2bb094ab68c Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Oct 23 15:37:03 2013 +0200 idp: do not display user attribute mapping if there's no user attributes commit 0a07979dc213aa31d04e84532b4d2bbdb389be2d Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Oct 23 15:21:57 2013 +0200 translation: spelling fix
Mis à jour par Frédéric Péters il y a plus de 10 ans
- Statut changé de Résolu (à déployer) à Fermé
qommon.ident.idp: factorize idp config form
refs #3852