Package org.keycloak.authorization.store
Interface PolicyStore
- All Known Implementing Classes:
JPAPolicyStore,StoreFactoryCacheSession.PolicyCache
public interface PolicyStore
A
PolicyStore is responsible to manage the persistence of Policy instances.- Author:
- Pedro Igor
-
Method Summary
Modifier and TypeMethodDescriptioncreate(ResourceServer resourceServer, AbstractPolicyRepresentation representation) Creates a newPolicyinstance.voidDeletes a policy from the underlying persistence mechanism.find(ResourceServer resourceServer, Map<Policy.FilterOption, String[]> attributes, Integer firstResult, Integer maxResults) findById(ResourceServer resourceServer, String id) Returns aPolicywith the givenidfindByName(ResourceServer resourceServer, String name) Returns aPolicywith the givennamefindByResource(ResourceServer resourceServer, Resource resource) voidfindByResource(ResourceServer resourceServer, Resource resource, Consumer<Policy> consumer) Searches for all policies associated with theResourceand passes the result to theconsumerfindByResourceServer(ResourceServer resourceServer) Returns a list ofPolicyassociated with theResourceServerfindByResourceType(ResourceServer resourceServer, String resourceType) voidfindByResourceType(ResourceServer resourceServer, String type, Consumer<Policy> policyConsumer) Searches for policies associated with aResourceServerand passes the result to the consumerfindByScopes(ResourceServer resourceServer, List<Scope> scopes) findByScopes(ResourceServer resourceServer, Resource resource, List<Scope> scopes) voidfindByScopes(ResourceServer resourceServer, Resource resource, List<Scope> scopes, Consumer<Policy> consumer) Effectively the same method asfindByScopes(ResourceServer, Resource, List), however in the end theconsumeris fed with the result.findByType(ResourceServer resourceServer, String type) Returns a list ofPolicywith the giventype.findDependentPolicies(ResourceServer resourceServer, String id) Returns a list ofPolicythat depends on another policy with the givenid.findDependentPolicies(ResourceServer resourceServer, String resourceType, String groupResourceType, String associatedPolicyType, String configKey, String configValue) findDependentPolicies(ResourceServer resourceServer, String resourceType, String groupResourceType, String associatedPolicyType, String configKey, List<String> configValues)
-
Method Details
-
create
Creates a newPolicyinstance. The new instance is not necessarily persisted though, which may require a call to the {#save} method to actually make it persistent.- Parameters:
resourceServer- the resource server to which this policy belongs. Cannot benull.representation- the policy representation- Returns:
- a new instance of
Policy
-
delete
Deletes a policy from the underlying persistence mechanism.- Parameters:
id- the id of the policy to delete
-
findById
Returns aPolicywith the givenid- Parameters:
resourceServer- the resource server. Ignored ifnull.id- the identifier of the policy- Returns:
- a policy with the given identifier.
-
findByName
Returns aPolicywith the givenname- Parameters:
resourceServer- the resource server. Cannot benullname- the name of the policy- Returns:
- a policy with the given name or
nullif no such policy exists.
-
findByResourceServer
Returns a list ofPolicyassociated with theResourceServer- Parameters:
resourceServer- the resource server. Cannot benull.- Returns:
- a list of policies that belong to the given resource server
-
find
List<Policy> find(ResourceServer resourceServer, Map<Policy.FilterOption, String[]> attributes, Integer firstResult, Integer maxResults) - Parameters:
resourceServer- the identifier of a resource server. Ignored ifnull.attributes- a map holding the attributes that will be used as a filter; possible filter options are given byPolicy.FilterOptionfirstResult- first result to return. Ignored if negative ornull.maxResults- maximum number of results to return. Ignored if negative ornull.- Returns:
- a list of policies that belong to the given resource server
- Throws:
IllegalArgumentException- when there is an unknown attribute in theattributesmap
-
findByResource
- Parameters:
resourceServer- the resource server. Cannot benull.resource- the resource. Cannot benull.- Returns:
- a list of policies associated with the given resource
-
findByResource
Searches for all policies associated with theResourceand passes the result to theconsumer- Parameters:
resourceServer- the resourceServer. Cannot benull.resource- the resource. Cannot benull.consumer- consumer of policies resulted from the search
-
findByResourceType
- Parameters:
resourceServer- the resource server id. Cannot benull.resourceType- the type of a resource- Returns:
- a list of policies associated with the given resource type
-
findByResourceType
void findByResourceType(ResourceServer resourceServer, String type, Consumer<Policy> policyConsumer) Searches for policies associated with aResourceServerand passes the result to the consumer- Parameters:
resourceServer- the resourceServer. Cannot benull.type- the type of a resourcepolicyConsumer- consumer of policies resulted from the search
-
findByScopes
- Parameters:
resourceServer- the resource server. Cannot benull.scopes- the scopes- Returns:
- a list of policies associated with the given scopes
-
findByScopes
default List<Policy> findByScopes(ResourceServer resourceServer, Resource resource, List<Scope> scopes) - Parameters:
resourceServer- the resource server. Cannot benull.resource- the resource. Ignored ifnull.scopes- the scopes- Returns:
- a list of policies associated with the given scopes
-
findByScopes
void findByScopes(ResourceServer resourceServer, Resource resource, List<Scope> scopes, Consumer<Policy> consumer) Effectively the same method asfindByScopes(ResourceServer, Resource, List), however in the end theconsumeris fed with the result. -
findByType
Returns a list ofPolicywith the giventype.- Parameters:
resourceServer- the resource server id. Cannot benull.type- the type of the policy- Returns:
- a list of policies with the given type
-
findDependentPolicies
Returns a list ofPolicythat depends on another policy with the givenid.- Parameters:
resourceServer- the resource server. Cannot benull.id- the id of the policy to query its dependents- Returns:
- a list of policies that depends on the a policy with the given identifier
-
findDependentPolicies
-
findDependentPolicies
-