Compilation error in RolePolicyConditionProvider (#42497)

Closes #42496

Signed-off-by: vramik <vramik@redhat.com>
This commit is contained in:
Vlasta Ramik 2025-09-10 11:04:49 +02:00 committed by GitHub
parent cdced6ca0d
commit b32b612f75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View File

@ -11,6 +11,7 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.policy.ResourcePolicyConditionProvider;
import org.keycloak.models.policy.ResourcePolicyEvent;
import org.keycloak.models.policy.ResourcePolicyInvalidStateException;
import org.keycloak.models.policy.ResourceType;
import org.keycloak.models.utils.RoleUtils;
@ -51,6 +52,15 @@ public class RolePolicyConditionProvider implements ResourcePolicyConditionProvi
return true;
}
@Override
public void validate() throws ResourcePolicyInvalidStateException {
expectedRoles.forEach(id -> {
if (session.roles().getRoleById(session.getContext().getRealm(), id) == null) {
throw new ResourcePolicyInvalidStateException(String.format("Role with id %s does not exist.", id));
}
});
}
private RoleModel getRole(String expectedRole, RealmModel realm) {
boolean isClientRole = expectedRole.indexOf('/') != -1;

View File

@ -140,7 +140,7 @@ public class RolePolicyConditionTest {
.of(EventBasedResourcePolicyProviderFactory.ID)
.onEvent(ResourceOperationType.ROLE_GRANTED.name())
.recurring()
.onCoditions(ResourcePolicyConditionRepresentation.create()
.onConditions(ResourcePolicyConditionRepresentation.create()
.of(RolePolicyConditionFactory.ID)
.withConfig(attributes)
.build())