This is an automated email from the ASF dual-hosted git repository.
angela pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new c71dd30383 OAK-11627: Fix NPE on isInheritedMember (#2205)
c71dd30383 is described below
commit c71dd30383001e215e85c8c57d32e73ffb67cec2
Author: Alejandro Moratinos <[email protected]>
AuthorDate: Wed Apr 30 10:06:41 2025 +0200
OAK-11627: Fix NPE on isInheritedMember (#2205)
---
.../external/impl/principal/AutoMembershipPrincipals.java | 5 ++++-
.../external/impl/principal/AutoMembershipPrincipalsTest.java | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git
a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipals.java
b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipals.java
index fec44266bf..da662638fa 100644
---
a/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipals.java
+++
b/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipals.java
@@ -137,7 +137,10 @@ final class AutoMembershipPrincipals {
}
// to test for inherited membership collect automembership-ids and
loop auto-membership groups
- Set<String> automembershipIds = new
HashSet<>(Arrays.asList(autoMembershipMapping.get(idpName)));
+ Set<String> automembershipIds = new HashSet<>();
+ if (autoMembershipMapping.containsKey(idpName)) {
+
automembershipIds.addAll(Arrays.asList(autoMembershipMapping.get(idpName)));
+ }
AutoMembershipConfig config = autoMembershipConfigMap.get(idpName);
if (config != null) {
automembershipIds.addAll(config.getAutoMembership(authorizable));
diff --git
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
index 2ebcb232d5..ce5ad4d718 100644
---
a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
+++
b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
@@ -54,6 +54,8 @@ import static org.mockito.Mockito.when;
public class AutoMembershipPrincipalsTest extends AbstractAutoMembershipTest {
+ private static final String IDP_NOT_MAPPED = "idp4";
+
private AutoMembershipPrincipals amp;
private final Authorizable authorizable = mock(Authorizable.class);
@@ -368,6 +370,12 @@ public class AutoMembershipPrincipalsTest extends
AbstractAutoMembershipTest {
nested.addMember(testGroup);
assertFalse(amp.isInheritedMember(IDP_VALID_AM, nested, authorizable));
}
+
+ @Test
+ public void testNotMappedIsNotInheritedMember() throws Exception {
+ Group testGroup = getTestGroup();
+ assertFalse(amp.isInheritedMember(IDP_NOT_MAPPED, testGroup,
authorizable));
+ }
@Test
public void testGetMembersFromAutoMembershipConfig() {