diff --git a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/group/GroupPolicyProviderFactory.java b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/group/GroupPolicyProviderFactory.java index aa4b47d31b7..71aa36d8331 100644 --- a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/group/GroupPolicyProviderFactory.java +++ b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/group/GroupPolicyProviderFactory.java @@ -26,6 +26,8 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import jakarta.ws.rs.BadRequestException; + import org.keycloak.Config; import org.keycloak.authorization.AuthorizationProvider; import org.keycloak.authorization.model.Policy; @@ -197,7 +199,14 @@ public class GroupPolicyProviderFactory implements PolicyProviderFactory testRealm().clients().get(clientId).remove()); + + ClientResource clientResource = testRealm().clients().get(clientId); + + // Try to create a group policy using the organization group - should fail + GroupPolicyRepresentation policy = new GroupPolicyRepresentation(); + policy.setName("org-group-policy"); + policy.addGroup(orgGroupId); + policy.setLogic(Logic.POSITIVE); + + try (Response response = clientResource.authorization().policies().group().create(policy)) { + assertThat(response.getStatus(), is(Status.BAD_REQUEST.getStatusCode())); + } + } }