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);
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;
boolean isResourceServer()
Definition: KeycloakIdentity.java:232
StoreFactory getStoreFactory()
Definition: AuthorizationProvider.java:109
final ResourceServer resourceServer
Definition: AbstractPermissionService.java:49
String getId()
Definition: KeycloakIdentity.java:214
Set< String > verifyRequestedScopes(PermissionRequest request, Resource resource)
Definition: AbstractPermissionService.java:115
ResourceStore getResourceStore()
final KeycloakIdentity identity
Definition: AbstractPermissionService.java:48
final AuthorizationProvider authorization
Definition: AbstractPermissionService.java:47