66 ResourceStore resourceStore =
authorization.getStoreFactory().getResourceStore();
67 List<Permission> requestedResources =
new ArrayList<>();
69 for (PermissionRequest permissionRequest : request) {
70 String resourceSetId = permissionRequest.getResourceId();
71 List<Resource> resources =
new ArrayList<>();
73 if (resourceSetId == null) {
74 if (permissionRequest.getScopes() == null || permissionRequest.getScopes().isEmpty()) {
75 throw new ErrorResponseException(
"invalid_resource_id",
"Resource id or name not provided.", Response.Status.BAD_REQUEST);
78 Resource resource = resourceStore.findById(resourceSetId,
resourceServer.getId());
80 if (resource != null) {
81 resources.add(resource);
85 if (userResource != null) {
86 resources.add(userResource);
90 Resource serverResource = resourceStore.findByName(resourceSetId, this.
resourceServer.getId());
92 if (serverResource != null) {
93 resources.add(serverResource);
98 if (resources.isEmpty()) {
99 throw new ErrorResponseException(
"invalid_resource_id",
"Resource set with id [" + resourceSetId +
"] does not exists in this server.", Response.Status.BAD_REQUEST);
103 if (resources.isEmpty()) {
106 for (Resource resource : resources) {
107 requestedResources.add(
new Permission(resource.getId(),
verifyRequestedScopes(permissionRequest, resource)));
112 return requestedResources;
Set< String > verifyRequestedScopes(PermissionRequest request, Resource resource)
Definition: AbstractPermissionService.java:115
final AuthorizationProvider authorization
Definition: AbstractPermissionService.java:47
String getId()
Definition: KeycloakIdentity.java:214
boolean isResourceServer()
Definition: KeycloakIdentity.java:232
final KeycloakIdentity identity
Definition: AbstractPermissionService.java:48
final ResourceServer resourceServer
Definition: AbstractPermissionService.java:49