Add ClientResourcePermissionValueProvider implementation#24515
Add ClientResourcePermissionValueProvider implementation#24515
Conversation
…ltiple languages.
There was a problem hiding this comment.
Pull request overview
This PR adds a ClientResourcePermissionValueProvider implementation to support client-based resource permissions in ABP applications. The implementation mirrors the existing user/role permission patterns but applies them to OAuth/OIDC clients.
- Adds client resource permission value provider to check permissions for OAuth clients
- Implements permission management providers and lookup services for both OpenIddict and IdentityServer modules
- Adds repository methods to retrieve applications/clients by IDs for efficient lookup
Reviewed changes
Copilot reviewed 72 out of 72 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| ClientResourcePermissionValueProvider.cs | New provider class that checks resource permissions based on client claims |
| ApplicationResourcePermissionProviderKeyLookupService.cs | OpenIddict service for searching and retrieving application keys for permission UI |
| ApplicationResourcePermissionManagementProvider.cs | OpenIddict permission management provider for client-based resource permissions |
| ApplicationPermissionManagementProvider.cs | Added multi-permission check method for batch operations |
| AbpApplicationFinder.cs | New finder service to search OpenIddict applications by filter or IDs |
| ApplicationFinderResult.cs | DTO for application search results |
| IApplicationFinder.cs | Interface defining application search operations |
| OpenIddict repository files | Added GetListByIdsAsync method to retrieve applications by ID array |
| ClientResourcePermissionProviderKeyLookupService.cs (IdentityServer) | IdentityServer service for searching and retrieving client keys for permission UI |
| ClientResourcePermissionManagementProvider.cs (IdentityServer) | IdentityServer permission management provider for client-based resource permissions |
| ClientPermissionManagementProvider.cs (IdentityServer) | Added multi-permission check method for batch operations |
| ClientFinder.cs | New finder service to search IdentityServer clients by filter or IDs |
| ClientFinderResult.cs | DTO for client search results |
| IClientFinder.cs | Interface defining client search operations |
| IdentityServer repository files | Added GetListByIdsAsync method to retrieve clients by ID array |
| Module configuration files | Registered new resource management providers and lookup services |
| Localization files | Added translations for lookup service display names across all supported languages |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...Abp/PermissionManagement/OpenIddict/ApplicationResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
...Abp/PermissionManagement/OpenIddict/ApplicationResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
...r/Volo/Abp/PermissionManagement/IdentityServer/ClientResourcePermissionManagementProvider.cs
Outdated
Show resolved
Hide resolved
...r/Volo/Abp/PermissionManagement/IdentityServer/ClientResourcePermissionManagementProvider.cs
Outdated
Show resolved
Hide resolved
...zation/Volo/Abp/Authorization/Permissions/Resources/ClientResourcePermissionValueProvider.cs
Outdated
Show resolved
Hide resolved
...Abp/PermissionManagement/OpenIddict/ApplicationResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
.../Abp/PermissionManagement/IdentityServer/ClientResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
.../Abp/PermissionManagement/IdentityServer/ClientResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
.../Abp/PermissionManagement/IdentityServer/ClientResourcePermissionProviderKeyLookupService.cs
Outdated
Show resolved
Hide resolved
...r/Volo/Abp/PermissionManagement/IdentityServer/ClientResourcePermissionManagementProvider.cs
Outdated
Show resolved
Hide resolved
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## dev #24515 +/- ##
==========================================
- Coverage 50.98% 50.92% -0.06%
==========================================
Files 3296 3387 +91
Lines 107518 110935 +3417
Branches 8255 8433 +178
==========================================
+ Hits 54817 56494 +1677
- Misses 51007 52700 +1693
- Partials 1694 1741 +47 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 74 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...zation/Volo/Abp/Authorization/Permissions/Resources/ClientResourcePermissionValueProvider.cs
Outdated
Show resolved
Hide resolved
...dict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationFinder.cs
Outdated
Show resolved
Hide resolved
...ityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/ClientFinder.cs
Outdated
Show resolved
Hide resolved
…pService to use "Client" across multiple languages
Resolve #24296