Projet

Général

Profil

Development #3852

Permette la gestion graphique du flag is_admin et du mapping entre attributs SAML et champs utilisateurs

Ajouté par Benjamin Dauvergne il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
21 octobre 2013
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Planning:

Description

Ces patch ajoutent deux champs au formulaire de configuration des fournisseurs d'identité:
  • 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

0003-qommon.ident.idp-factorize-idp-config-form.patch (2,66 ko) 0003-qommon.ident.idp-factorize-idp-config-form.patch Benjamin Dauvergne, 21 octobre 2013 16:58
0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch (2,74 ko) 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch Benjamin Dauvergne, 21 octobre 2013 16:58
0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch (1,88 ko) 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch Benjamin Dauvergne, 21 octobre 2013 16:58
0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch (3,2 ko) 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch Benjamin Dauvergne, 21 octobre 2013 16:58
0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch (2,79 ko) 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch Benjamin Dauvergne, 22 octobre 2013 00:12
0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch (2,37 ko) 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch Benjamin Dauvergne, 22 octobre 2013 00:12
0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch (3,89 ko) 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch Benjamin Dauvergne, 22 octobre 2013 00:12
0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch (2,79 ko) 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch v3 Benjamin Dauvergne, 22 octobre 2013 12:32
0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch (2,37 ko) 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch v3 Benjamin Dauvergne, 22 octobre 2013 12:32
0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch (3,85 ko) 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch v3 Benjamin Dauvergne, 22 octobre 2013 12:32
0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch (3,87 ko) 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch Benjamin Dauvergne, 23 octobre 2013 14:14
0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch (3,18 ko) 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch Benjamin Dauvergne, 23 octobre 2013 14:14
0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch (3,85 ko) 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch Benjamin Dauvergne, 23 octobre 2013 14:14

Demandes liées

Bloqué par w.c.s. - Bug #3850: Dans wcs.qommon.form, WidgetDict ne passe pas ses arguments au constructeur du parentFermé21 octobre 2013

Actions
Bloqué par w.c.s. - Bug #3851: Erreur de nommage des métadonnée quand on crée un fournisseur d'identité depuis l'URL des métadonnéesFermé21 octobre 2013

Actions

Révisions associées

Révision 1b3923f8 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 10 ans

qommon.ident.idp: factorize idp config form

refs #3852

Révision 50342ffa (diff)
Ajouté par Benjamin Dauvergne il y a plus de 10 ans

qommon.ident.idp: allow customizable rules to set is_admin flag from SAML 2 attributes

refs #3852

Révision aa4d81c9 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 10 ans

qommon.ident.idp; allow mapping from SAML 2 attributes to user fields

refs #3852

Révision b8579dac (diff)
Ajouté par Benjamin Dauvergne il y a plus de 10 ans

qommon.saml2: use new idp settings to fill user attribute at SAML 2 login

fixes #3852

Révision 6da7d5c3 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 10 ans

translation update

refs #3852

Historique

#1

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 ?

#2

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.

#3

Mis à jour par Benjamin Dauvergne il y a plus de 10 ans

  • Fichier 0004-qommon.ident.idp-allow-customizable-rules-to-set-is_.patch supprimé
#4

Mis à jour par Benjamin Dauvergne il y a plus de 10 ans

  • Fichier 0005-qommon.ident.idp-allow-mapping-from-SAML-2-attribute.patch supprimé
#5

Mis à jour par Benjamin Dauvergne il y a plus de 10 ans

  • Fichier 0006-qommon.saml2-use-new-idp-settings-to-fill-user-attri.patch supprimé
#7

Mis à jour par Benjamin Dauvergne il y a plus de 10 ans

  • 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
#8

Mis à jour par Benjamin Dauvergne il y a plus de 10 ans

Pousse-je ?

#9

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 ?

#10

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.

#11

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.

#13

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.

#14

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
#15

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
#16

Mis à jour par Frédéric Péters il y a plus de 10 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF