user_oidc icon indicating copy to clipboard operation
user_oidc copied to clipboard

support flattening of nested groups like keycloak uses

Open yennor opened this issue 1 year ago • 3 comments

How to use GitHub

  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Feature request

Which Nextcloud Version are you currently using: 29.0.6

Is your feature request related to a problem? Please describe. In Keycloak it is possible to have nested (hierarchical) groups like "/parent/child". So if a user is member of child group it is implicitly also member of parent group. Nextcloud doesn't support nested groups. Unfortunately at the time being keycloak can only send the whole group path "/parent/child" or only the group the user is explicitly member of, so "child'. In a lot of use cases, having an option which supports flattening the groups would be enough. Like "/parent/child" becomes the two groups:

  • parent
  • child

Would be nice if that would be an selectable option for the user_oidc app.

yennor avatar Sep 24 '24 16:09 yennor

Thanks for the suggestion! If you're interested, you are welcome to submit a pull request as well and we'll promptly take a look at it.

edward-ly avatar Oct 02 '24 00:10 edward-ly

I would love to see this feature happening! But it also raises another issue in Nextcloud itself: The ability to create nested groups is not implemented

Technically speaking (I'm not a developer of this addon (PHP is too much pain for me) so take this with a pinch of salt), this feature may be implemented by parsing the slashes ('/') in the group name and flattening all the members as independent in the group list that's being parsed.

Do you think it's a good approach?

DodoLeDev avatar Jun 16 '25 13:06 DodoLeDev

That's how I would have implemented it (and basically descriped above ;-)). With the option to choose the group seperator (don't know if '/' is standard).

yennor avatar Jun 16 '25 13:06 yennor