Alejandro Moratinos created OAK-11627:
-----------------------------------------

             Summary: NullPointerException in AutoMemberhipPrincipals
                 Key: OAK-11627
                 URL: https://issues.apache.org/jira/browse/OAK-11627
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: auth-external
    Affects Versions: 1.76.0
            Reporter: Alejandro Moratinos


When there are 2 identity providers configured, one with dynamicMembership 
enabled and another one with dynamicMembership disabled a null pointer 
exception could happen while checking if an authorizable is member of a group

This happens because CompositeProvider in DynamicMembershipTracker uses each 
provider to checks if [it the user belongs to a 
group|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTracker.java#L108-L115]
 Then when AutomembershipPrincipals is called for a provider not using 
dynamicMembership throws a NullPointerException on 
[isInheritedMember|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.76.0/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipals.java]
 

 
{code:java}
// Trace reproduced using a local instance
Caused by: java.lang.NullPointerException: null    at 
java.base/java.util.Objects.requireNonNull(Objects.java:222)    at 
java.base/java.util.Arrays$ArrayList.<init>(Arrays.java:4323)    at 
java.base/java.util.Arrays.asList(Arrays.java:4310)    at 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal.AutoMembershipPrincipals.isInheritedMember(AutoMembershipPrincipals.java:137)
 [org.apache.jackrabbit.oak-auth-external:1.75.0.SNAPSHOT]    at 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal.AutoMembershipProvider.isMember(AutoMembershipProvider.java:130)
 [org.apache.jackrabbit.oak-auth-external:1.75.0.SNAPSHOT]    at 
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.principal.AutoMembershipProvider.isMember(AutoMembershipProvider.java:124)
 [org.apache.jackrabbit.oak-auth-external:1.75.0.SNAPSHOT]    at 
org.apache.jackrabbit.oak.security.user.DynamicMembershipTracker$CompositeProvider.isMember(DynamicMembershipTracker.java:110)
 [org.apache.jackrabbit.oak-core:1.75.0.SNAPSHOT] {code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to