Development #7281
En SAML pouvoir affecter les rôles à un utilisateur depuis un attribut contenant les slugs de ceux-ci
0%
Description
Je pense qu'il n'est pas nécessaire de rendre le nom de cet attribut configurable, on prend "role-slug". Si présent la listes des rôles de l'utilisateur est écrasée entièrement. Les slugs inconnus sont ignoré mais on log un petit warning.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 9 ans
Ça me semble ok; role-slug sera bien envoyé mais vide quand il n'y a pas de rôle attribué ?
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
Actuellement non, les attributs vides ne sont pas envoyés par authentic. C'est gênant d'adopter un comportement par défaut ou on suppose que l'attribut "role-slug" est vide si absent quand la gestion des rôles est externalisée ?
Mis à jour par Thomas Noël il y a presque 9 ans
Qu'entends-tu par «adopter un comportement par défaut» ?
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
J'ai sous entendu dans la demande de Fred qu'il souhaitait que si l'attribut est absent on ne touche pas aux rôles de l'utilisateur. Ma réponse c'est de dire que si la gestion des rôles est déléguée, i.e. si idp-manage-user-attributes a la valeur True, alors on écrase les rôles dans tous les cas.
Mais je peux aussi faire en sorte que tous les attributs déclarés pour un SP soient envoyés par authentic, vides ou pas.
Mis à jour par Frédéric Péters il y a presque 9 ans
Il y avait pas à sous-entendre, j'explique donc mon commentaire : si role-slug est présent, et vide, on traite, il n'y a plus aucun rôle, bam, aucune question posée; alors que si role-slug n'est pas présent, on doit savoir par ailleurs (idp-manage-user-attributes) qu'on est dans une situation où les rôles doivent être retirés.
Mis à jour par Thomas Noël il y a presque 9 ans
Benjamin Dauvergne a écrit :
J'ai sous entendu dans la demande de Fred qu'il souhaitait que si l'attribut est absent on ne touche pas aux rôles de l'utilisateur.
Ca ne marchera pas si on retire le "dernier" rôle à un utilisateur.
Donc, je propose comme Fred, et comme toi : si y'a pas de role-slug, alors c'est l'IdP qui commande, et le gars n'a plus de rôle, fin.
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
- Fichier 0001-saml2-set-user-roles-from-the-SAML-attribute-role-sl.patch 0001-saml2-set-user-roles-from-the-SAML-attribute-role-sl.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a presque 9 ans
Logger un petit warning ?
Par précaution, dans role_ids.append(role.id)
, je ferais plutôt str(role.id). (#6222)
Et plus j'y réfléchis plus je préférerais avoir tout le temps l'attribut role-slug posé, même vide, plutôt que traiter la situation derrière via idp-manage-user-attributes (pour éviter les problèmes sur les sites où ce paramètre aurait été mis et où wcs est mis à jour avant la mise en place d'un authentic faisant la gestion d'accès).
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
Frédéric Péters a écrit :
Logger un petit warning ?
Un warning quand il arrive quoi ?
Par précaution, dans
role_ids.append(role.id)
, je ferais plutôt str(role.id). (#6222)
Ok.
Et plus j'y réfléchis plus je préférerais avoir tout le temps l'attribut role-slug posé, même vide, plutôt que traiter la situation derrière via idp-manage-user-attributes (pour éviter les problèmes sur les sites où ce paramètre aurait été mis et où wcs est mis à jour avant la mise en place d'un authentic faisant la gestion d'accès).
Ok, #7285.
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
- Fichier 0001-saml2-set-user-roles-from-the-SAML-attribute-role-sl.patch 0001-saml2-set-user-roles-from-the-SAML-attribute-role-sl.patch ajouté
Commentaire mis à jour.
Mis à jour par Frédéric Péters il y a presque 9 ans
Logger un petit warning ?
Un warning quand il arrive quoi ?
Ta suggestion : « Les slugs inconnus sont ignoré mais on log un petit warning ».
Mis à jour par Benjamin Dauvergne il y a presque 9 ans
Mis à jour par Frédéric Péters il y a presque 9 ans
L'import de wcs/roles dans un module de qommon/ me chiffonne un peu mais passons; ok.
Mis à jour par Thomas Noël il y a presque 9 ans
- Lié à Development #7285: SAML2 Idp: always create a defined attribute event if its value set is empty ajouté
saml2: set user roles from the SAML attribute "role-slug" (#7281)