-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add ClientResourcePermissionValueProvider implementation #24515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
…ltiple languages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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