@Override public void delete(String id) { if (id == null) return; Policy policy = findById(id, null); if (policy == null) return; cache.invalidateObject(id); Set<String> resources = policy.getResources().stream().map(resource -> resource.getId()).collect(Collectors.toSet()); ResourceServer resourceServer = policy.getResourceServer(); Set<String> resourceTypes = getResourceTypes(resources, resourceServer.getId()); String defaultResourceType = policy.getConfig().get("defaultResourceType"); if (Objects.nonNull(defaultResourceType)) { resourceTypes.add(defaultResourceType); } Set<String> scopes = policy.getScopes().stream().map(scope -> scope.getId()).collect(Collectors.toSet()); invalidationEvents.add(PolicyRemovedEvent.create(id, policy.getName(), resources, resourceTypes, scopes, resourceServer.getId())); cache.policyRemoval(id, policy.getName(), resources, resourceTypes, scopes, resourceServer.getId(), invalidations); getPolicyStoreDelegate().delete(id); }
this.name = policy.getName(); this.description = policy.getDescription(); this.resourceServerId = policy.getResourceServer().getId();
private void createUserPolicy(Policy policy, PolicyStore policyStore, String user, String owner) { UserPolicyRepresentation rep = new UserPolicyRepresentation(); rep.setName(KeycloakModelUtils.generateId()); rep.addUser(user); Policy associatedPolicy = policyStore.create(rep, policy.getResourceServer()); associatedPolicy.setOwner(owner); policy.addAssociatedPolicy(associatedPolicy); } }
private void createRolePolicy(Policy policy, PolicyStore policyStore, String role, String owner) { RolePolicyRepresentation rep = new RolePolicyRepresentation(); rep.setName(KeycloakModelUtils.generateId()); rep.addRole(role, false); Policy associatedPolicy = policyStore.create(rep, policy.getResourceServer()); associatedPolicy.setOwner(owner); policy.addAssociatedPolicy(associatedPolicy); }
private void createGroupPolicy(Policy policy, PolicyStore policyStore, String group, String owner) { GroupPolicyRepresentation rep = new GroupPolicyRepresentation(); rep.setName(KeycloakModelUtils.generateId()); rep.addGroupPath(group); Policy associatedPolicy = policyStore.create(rep, policy.getResourceServer()); associatedPolicy.setOwner(owner); policy.addAssociatedPolicy(associatedPolicy); }
private void createJSPolicy(Policy policy, PolicyStore policyStore, String condition, String owner) { JSPolicyRepresentation rep = new JSPolicyRepresentation(); rep.setName(KeycloakModelUtils.generateId()); rep.setCode(condition); Policy associatedPolicy = policyStore.create(rep, policy.getResourceServer()); associatedPolicy.setOwner(owner); policy.addAssociatedPolicy(associatedPolicy); }
private void createClientPolicy(Policy policy, PolicyStore policyStore, String client, String owner) { ClientPolicyRepresentation rep = new ClientPolicyRepresentation(); rep.setName(KeycloakModelUtils.generateId()); rep.addClient(client); Policy associatedPolicy = policyStore.create(rep, policy.getResourceServer()); associatedPolicy.setOwner(owner); policy.addAssociatedPolicy(associatedPolicy); }