[ 
https://issues.apache.org/jira/browse/OAK-4087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15363881#comment-15363881
 ] 

angela commented on OAK-4087:
-----------------------------

It works pretty much the same way for local groups: the automembership 
configuration option of a given {{DefaultSyncHandler}} instance will be picked 
up by the {{ExternalPrincipalConfiguration}}, mapped to a given IDP for which 
the {{SyncHandler}} has been registered (see {{ExternalLoginModule}}) and 
ultimately evaluated by the {{ExternalGroupPrincipalProvider}} in order to make 
sure a given {{Subject}} is not only populated with the principals defined on 
the external IDP but also with the auto-membership principals. Note that the 
automembership defines the group IDs and the corresponding call will first 
resolve the {{Group}} (as it used to do it before) and then place the 
associated principal in the set of all (group) principals as requested by 
{{PrincipalProvider.getGroupMembership(Principal)}} and 
{{PrincipalProvider.getPrincipals(String)}} respectively.

Hope that helps. Btw: I would appreciate if you could take a look at the 
corresponding documentation section and let me know if there is something that 
needs additional clarification.

> Replace Sync of configured AutoMembership by Dynamic Principal Generation
> -------------------------------------------------------------------------
>
>                 Key: OAK-4087
>                 URL: https://issues.apache.org/jira/browse/OAK-4087
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: auth-external
>            Reporter: angela
>            Assignee: angela
>              Labels: performance
>             Fix For: 1.5.3
>
>         Attachments: OAK-4087.patch, OAK-4087_documentation.patch
>
>
> the {{DefaultSyncConfig}} comes with a configuration option 
> {{PARAM_USER_AUTO_MEMBERSHIP}} indicating the set of groups a given external 
> user must always become member of upon sync into the repository.
> this results in groups containing almost all users in the system (at least 
> those synchronized form the external IDP). while this behavior is straight 
> forward (and corresponds to the behavior in the previous crx version), it 
> wouldn't be necessary from a repository point of view as a given {{Subject}} 
> can be populated from different principal sources and dealing with this kind 
> of dynamic-auto-membership was a typical use-case.
> what does that mean:
> instead of performing the automembership on the user management, the external 
> authentication setup could come with an auto-membership {{PrincipalProvider}} 
> implementation that would expose the desired group membership for all 
> external principals (assuming that they were identified as such).
> [~tripod], do you remember if that was ever an option while building the 
> {{oak-auth-external}} module? if not, could that be worth a second thought 
> also in the light of OAK-3933?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to