Class AdminPermissionsSchema

java.lang.Object
org.keycloak.representations.idm.authorization.AuthorizationSchema
org.keycloak.authorization.fgap.AdminPermissionsSchema

public class AdminPermissionsSchema extends org.keycloak.representations.idm.authorization.AuthorizationSchema
  • Field Details

  • Method Details

    • getOrCreateResource

      public Resource getOrCreateResource(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, String resourceType, String id)
    • getResourceTypeResource

      public Resource getResourceTypeResource(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, String resourceType)
    • isSupportedPolicyType

      public boolean isSupportedPolicyType(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, String type)
    • isAdminPermissionClient

      public boolean isAdminPermissionClient(org.keycloak.models.RealmModel realm, String id)
    • throwExceptionIfAdminPermissionClient

      public void throwExceptionIfAdminPermissionClient(org.keycloak.models.KeycloakSession session, String id)
    • throwExceptionIfResourceTypeOrScopesNotProvided

      public void throwExceptionIfResourceTypeOrScopesNotProvided(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, org.keycloak.representations.idm.authorization.AbstractPolicyRepresentation rep)
    • getScope

      public Scope getScope(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, String resourceType, String id)
    • init

      public void init(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm)
    • isAdminPermissionsEnabled

      public boolean isAdminPermissionsEnabled(org.keycloak.models.RealmModel realm)
    • getAuthorizationSchema

      public org.keycloak.representations.idm.authorization.AuthorizationSchema getAuthorizationSchema(org.keycloak.models.ClientModel client)
    • removeResource

      public void removeResource(Resource resource, Policy policy, AuthorizationProvider authorization)
    • removeOrphanResources

      public void removeOrphanResources(Policy policy, AuthorizationProvider authorization)
    • getResourceName

      public String getResourceName(org.keycloak.models.KeycloakSession session, Policy policy, Resource resource)
    • getResourceName

      public String getResourceName(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, String resourceType, String resourceName)
    • addUResourceTypeResource

      public void addUResourceTypeResource(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer, Policy policy, String resourceType)
    • removeResourceObject

      public void removeResourceObject(AuthorizationProvider authorization, org.keycloak.provider.ProviderEvent event)
    • applyAuthorizationFilters

      public List<jakarta.persistence.criteria.Predicate> applyAuthorizationFilters(org.keycloak.models.KeycloakSession session, org.keycloak.representations.idm.authorization.ResourceType resourceType, org.keycloak.models.RealmModel realm, jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.CriteriaQuery<?> queryBuilder, jakarta.persistence.criteria.Path<?> path)
    • applyAuthorizationFilters

      public List<jakarta.persistence.criteria.Predicate> applyAuthorizationFilters(org.keycloak.models.KeycloakSession session, org.keycloak.representations.idm.authorization.ResourceType resourceType, PartialEvaluationStorageProvider evaluator, org.keycloak.models.RealmModel realm, jakarta.persistence.criteria.CriteriaBuilder builder, jakarta.persistence.criteria.CriteriaQuery<?> queryBuilder, jakarta.persistence.criteria.Path<?> path)
    • getPolicyEvaluator

      public PolicyEvaluator getPolicyEvaluator(org.keycloak.models.KeycloakSession session, ResourceServer resourceServer)
    • getScopeAliases

      public Set<String> getScopeAliases(String resourceType, Scope scope)
    • runWithoutAuthorization

      public static void runWithoutAuthorization(org.keycloak.models.KeycloakSession session, Runnable runnable)

      Disables authorization and evaluation of permissions for realm resource types when executing the given runnable in the context of the given session.

      This method should be used whenever a code block should be executed without any evaluation or filtering based on the permissions set to a realm. For instance, when caching realm resources where access enforcement does not apply.

      Parameters:
      session - the session. If null, authorization is enabled when executing the code block
      runnable - the runnable to execute
    • runWithoutAuthorization

      public static <T> T runWithoutAuthorization(org.keycloak.models.KeycloakSession session, Supplier<T> supplier)

      Disables authorization and evaluation of permissions for realm resource types when executing the given supplier in the context of the given session, returning the supplier's result.

      Type Parameters:
      T - the return type
      Parameters:
      session - the session. If null, the supplier is executed directly without modifying authorization state
      supplier - the supplier to execute
      Returns:
      the result of the supplier
      See Also:
    • isSkipEvaluation

      public static boolean isSkipEvaluation(org.keycloak.models.KeycloakSession session)
      Returns if authorization is disabled in the context of the given session at the moment that this method is called.
      Parameters:
      session - the session
      Returns:
      true if authorization is disabled. Otherwise, returns false. Otherwise, false.
      See Also:
    • addResourceTypeScope

      public void addResourceTypeScope(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String resourceType, String scopeName)