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 associatedPolicyType, String configKey, String configValue) findDependentPolicies(ResourceServer resourceServer, String resourceType, 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
-