Returns a list of permissions for all resources and scopes that belong to the given resourceServer
and identity
.
64 List<ResourcePermission> permissions =
new ArrayList<>();
65 StoreFactory storeFactory = authorization.getStoreFactory();
66 ResourceStore resourceStore = storeFactory.getResourceStore();
67 Metadata metadata = request.getMetadata();
68 final AtomicLong limit;
70 if (metadata != null && metadata.getLimit() != null) {
71 limit =
new AtomicLong(metadata.getLimit());
73 limit =
new AtomicLong(Long.MAX_VALUE);
77 resourceStore.findByOwner(resourceServer.getId(), resourceServer.getId(), resource -> {
78 if (limit.decrementAndGet() >= 0) {
84 resourceStore.findByOwner(identity.getId(), resourceServer.getId(), resource -> {
85 if (limit.decrementAndGet() >= 0) {
91 List<PermissionTicket> tickets = storeFactory.getPermissionTicketStore().findGranted(identity.getId(), resourceServer.getId());
93 if (!tickets.isEmpty()) {
94 Map<String, ResourcePermission> userManagedPermissions =
new HashMap<>();
96 for (PermissionTicket ticket : tickets) {
97 ResourcePermission
permission = userManagedPermissions.get(ticket.getResource().getId());
99 if (permission == null) {
100 userManagedPermissions.put(ticket.getResource().getId(),
new ResourcePermission(ticket.getResource(),
new ArrayList<>(), resourceServer, request.getClaims()));
101 limit.decrementAndGet();
104 if (limit.decrementAndGet() <= 0) {
109 permissions.addAll(userManagedPermissions.values());
static ResourcePermission createResourcePermissions(Resource resource, Collection< Scope > requestedScopes, AuthorizationProvider authorization, AuthorizationRequest request)
Definition: Permissions.java:115
static ResourcePermission permission(ResourceServer server, Resource resource, Scope scope)
Definition: Permissions.java:48