From f28675d6f212ccf0db33e446d1920e56b9fde5a2 Mon Sep 17 00:00:00 2001
From: cKey <35512826+colinin@users.noreply.github.com>
Date: Thu, 24 Dec 2020 22:41:26 +0800
Subject: [PATCH] Upgrade Abp Framework 4.0.0
---
.gitignore | 1 +
.../LINGYUN.MicroService.ApiGateway.sln | 14 -
aspnet-core/common.props | 2 +-
.../appsettings.Development.json | 2 +-
.../appsettings.Development.json | 2 +-
.../appsettings.Development.json | 19 +-
.../appsettings.Development.json | 3 +-
.../appsettings.Development.json | 2 +-
.../appsettings.Development.json | 2 +-
.../appsettings.Development.json | 18 +-
...N.Abp.Account.Application.Contracts.csproj | 2 +-
.../LINGYUN.Abp.Account.Application.csproj | 4 +-
.../LINGYUN.Abp.Account.HttpApi.csproj | 4 +-
...GYUN.ApiGateWay.Admin.Domain.Shared.csproj | 26 -
.../ApiGateWayAdminDomainSharedModule.cs | 32 -
.../ApiGateWay/Admin/HostAndPortConsts.cs | 8 -
.../Admin/Http/HttpDelegatingHandlerConsts.cs | 7 -
.../Localization/ApiGateWayAdminResource.cs | 10 -
.../Admin/Localization/Resources/en.json | 5 -
.../Admin/Localization/Resources/zh-Hans.json | 6 -
.../ApiGateWay/Admin/RouteGroupAppKey.cs | 13 -
.../LINGYUN.ApiGateWay.Admin.Domain.csproj | 17 -
.../Admin/ApiGateWayAdminDomainModule.cs | 12 -
.../ApiGateWay/Admin/Globals/Global.cs | 12 -
.../LINGYUN/ApiGateWay/Admin/HostAndPort.cs | 62 -
.../Admin/Http/DownstreamHttpMethod.cs | 13 -
.../Admin/Http/HttpDelegatingHandler.cs | 45 -
.../ApiGateWay/Admin/Http/HttpHandler.cs | 43 -
.../ApiGateWay/Admin/Http/HttpHeader.cs | 51 -
.../ApiGateWay/Admin/Http/HttpMethod.cs | 45 -
.../ApiGateWay/Admin/Http/HttpQuery.cs | 51 -
.../Admin/Http/UpstreamHttpMethod.cs | 13 -
.../LINGYUN/ApiGateWay/Admin/LoadBalancer.cs | 37 -
.../LINGYUN/ApiGateWay/Admin/QoS.cs | 32 -
.../LINGYUN/ApiGateWay/Admin/RateLimitRule.cs | 57 -
.../LINGYUN/ApiGateWay/Admin/Routes/Route.cs | 348 ----
.../Admin/Routes/RouteAddRequestHttpHeader.cs | 20 -
.../Admin/Routes/RouteAddToRequestClaim.cs | 20 -
.../Routes/RouteAddToRequestHttpQuery.cs | 20 -
.../Admin/Routes/RouteAllowedScope.cs | 45 -
.../Admin/Routes/RouteAuthentication.cs | 53 -
.../ApiGateWay/Admin/Routes/RouteCache.cs | 22 -
.../Routes/RouteDownstreamHostAndPort.cs | 19 -
.../Admin/Routes/RouteDownstreamHttpMethod.cs | 21 -
.../RouteDownstreamTransformHttpHeader.cs | 20 -
.../Routes/RouteHttpDelegatingHandler.cs | 21 -
.../Admin/Routes/RouteHttpHandler.cs | 20 -
.../Admin/Routes/RouteHttpMethod.cs | 11 -
.../Admin/Routes/RouteLoadBalancer.cs | 23 -
.../ApiGateWay/Admin/Routes/RouteQos.cs | 22 -
.../Admin/Routes/RouteRateLimitRule.cs | 23 -
.../Admin/Routes/RouteRequirementClaim.cs | 20 -
.../Admin/Routes/RouteUpstreamHttpMethod.cs | 21 -
.../RouteUpstreamTransformHttpHeader.cs | 20 -
.../ApiGateWay/Admin/Security/Claim.cs | 50 -
.../Admin/Security/RouteClientWhite.cs | 34 -
.../ApiGateWay/Admin/Security/RouteIPBlock.cs | 40 -
.../ApiGateWay/Admin/Security/RouteIPWhite.cs | 41 -
.../Admin/Security/RouteSecurity.cs | 56 -
...UN.ApiGateway.Application.Contracts.csproj | 4 +-
.../Ocelot/Dto/Result/AggregateReRouteDto.cs | 6 +-
.../Ocelot/Dto/Result/DynamicReRouteDto.cs | 6 +-
.../Dto/Result/GlobalConfigurationDto.cs | 6 +-
.../Ocelot/Dto/Result/ReRouteDto.cs | 7 +-
.../LINGYUN.ApiGateway.Application.csproj | 4 +-
.../LINGYUN.ApiGateway.Domain.Shared.csproj | 2 +-
.../Newtonsoft/Json/HexLongConverter.cs | 30 -
.../LINGYUN.ApiGateway.Domain.csproj | 4 +-
...GYUN.ApiGateway.EntityFrameworkCore.csproj | 6 +-
.../LINGYUN.ApiGateway.HttpApi.Client.csproj | 2 +-
.../LINGYUN.ApiGateway.HttpApi.csproj | 4 +-
.../Ocelot/GlobalConfigurationController.cs | 3 +
....Abp.Auditing.Application.Contracts.csproj | 10 +-
.../LINGYUN.Abp.Auditing.Application.csproj | 8 +-
.../LINGYUN.Abp.Auditing.HttpApi.csproj | 4 +-
.../LINGYUN.Abp.Aliyun.csproj | 6 +-
.../LINGYUN.Abp.Tencent.csproj | 6 +-
.../LINGYUN.Abp.Aliyun.Authorization.csproj | 2 +-
...bp.AspNetCore.SignalR.Protocol.Json.csproj | 8 +-
...YUN.Abp.AspNetCore.SignalR.JwtToken.csproj | 4 +-
...LINGYUN.Abp.BackgroundJobs.Hangfire.csproj | 4 +-
.../LINGYUN.Abp.BackgroundJobs.csproj | 2 +-
.../LINGYUN.Abp.BlobStoring.Aliyun.csproj | 2 +-
.../LINGYUN.Abp.DistributedLock.Redis.csproj | 6 +-
.../LINGYUN.Abp.EventBus.CAP.csproj | 6 +-
...GYUN.Abp.ExceptionHandling.Emailing.csproj | 2 +-
...Abp.ExceptionHandling.Notifications.csproj | 2 +-
.../LINGYUN.Abp.ExceptionHandling.csproj | 2 +-
....Abp.Features.LimitValidation.Redis.csproj | 4 +-
...INGYUN.Abp.Features.LimitValidation.csproj | 2 +-
.../LINGYUN.Abp.Hangfire.Storage.MySql.csproj | 6 +-
.../MySql/AbpHangfireMySqlStorageModule.cs | 8 +-
...GYUN.Abp.Hangfire.Storage.SqlServer.csproj | 2 +-
.../LINGYUN.Abp.IM.SignalR.csproj | 6 +-
.../LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj | 4 +-
.../LINGYUN.Abp.Location.Baidu.csproj | 8 +-
.../LINGYUN.Abp.Location.Tencent.csproj | 8 +-
.../LINGYUN.Abp.Location.csproj | 2 +-
.../LINGYUN.Abp.Notifications.SignalR.csproj | 6 +-
.../LINGYUN.Abp.Notifications.Sms.csproj | 2 +-
.../LINGYUN.Abp.Notifications.csproj | 6 +-
.../LINGYUN.Abp.RealTime.SignalR.csproj | 4 +-
.../LINGYUN.Abp.RealTime.csproj | 2 +-
.../LINGYUN.Abp.Rules.csproj | 2 +-
.../LINGYUN.Abp.Settings.csproj | 2 +-
.../LINGYUN.Abp.Sms.Aliyun.csproj | 6 +-
...INGYUN.Abp.FeatureManagement.Client.csproj | 4 +-
.../LINGYUN.Abp.Features.Client.csproj | 2 +-
...ileManagement.Application.Contracts.csproj | 2 +-
...UN.Abp.FileManagement.Domain.Shared.csproj | 2 +-
.../LINGYUN.Abp.FileManagement.Domain.csproj | 4 +-
.../LINGYUN.Abp.FileManagement.HttpApi.csproj | 4 +-
....Abp.Identity.Application.Contracts.csproj | 2 +-
.../LINGYUN.Abp.Identity.Application.csproj | 2 +-
.../LINGYUN.Abp.Identity.Domain.Shared.csproj | 2 +-
.../LINGYUN.Abp.Identity.Domain.csproj | 2 +-
...UN.Abp.Identity.EntityFrameworkCore.csproj | 4 +-
...LINGYUN.Abp.Identity.HttpApi.Client.csproj | 2 +-
.../LINGYUN.Abp.Identity.HttpApi.csproj | 4 +-
...ermissionManagement.Domain.Identity.csproj | 4 +-
...dentityServer.Application.Contracts.csproj | 9 +-
...dentityServerApplicationContractsModule.cs | 7 +-
.../AbpIdentityServerErrorConsts.cs | 5 +
...ntityServerPermissionDefinitionProvider.cs | 14 +-
.../AbpIdentityServerPermissions.cs | 18 +-
.../ApiResources/Dto/ApiResourceClaimDto.cs | 6 +
.../ApiResources/Dto/ApiResourceCreateDto.cs | 3 +-
.../Dto/ApiResourceCreateOrUpdateDto.cs | 26 +-
.../ApiResources/Dto/ApiResourceDto.cs | 22 +-
.../Dto/ApiResourcePropertyDto.cs | 6 +
...ateDto.cs => ApiResourceScopeCreateDto.cs} | 13 +-
.../ApiResources/Dto/ApiResourceScopeDto.cs | 7 +
... => ApiResourceSecretCreateOrUpdateDto.cs} | 2 +-
...piSecretDto.cs => ApiResourceSecretDto.cs} | 2 +-
.../ApiResources/Dto/ApiScopeDto.cs | 26 -
.../ApiScopes/Dto/ApiScopeClaimDto.cs | 6 +
.../ApiScopes/Dto/ApiScopeCreateDto.cs | 7 +
.../Dto/ApiScopeCreateOrUpdateDto.cs | 29 +
.../ApiScopes/Dto/ApiScopeDto.cs | 33 +
.../ApiScopes/Dto/ApiScopePropertyDto.cs | 12 +
.../ApiScopes/Dto/ApiScopeUpdateDto.cs | 6 +
.../ApiScopes/Dto/GetApiScopeInput.cs | 9 +
.../ApiScopes/IApiScopeAppService.cs | 15 +
.../Clients/Dto/ClientCloneDto.cs | 7 +-
.../Clients/Dto/ClientCorsOriginDto.cs | 7 +
.../Clients/Dto/ClientCreateOrUpdateDto.cs | 11 +-
.../IdentityServer/Clients/Dto/ClientDto.cs | 32 +-
.../Clients/Dto/ClientGrantTypeDto.cs | 7 +
.../Clients/Dto/ClientIdPRestrictionDto.cs | 7 +
.../Dto/ClientPostLogoutRedirectUriDto.cs | 7 +
.../Clients/Dto/ClientPropertyDto.cs | 6 +
.../Clients/Dto/ClientRedirectUriDto.cs | 7 +
.../Clients/Dto/ClientScopeDto.cs | 6 +
.../Clients/Dto/ClientSecretDto.cs | 2 +-
.../Clients/Dto/ClientUpdateDto.cs | 83 +-
.../Clients/Dto/SecretCreateOrUpdateDto.cs | 2 +-
.../Devices/Dto/DeviceFlowCodesDto.cs | 24 +
...tPagedDto.cs => GetPersistedGrantInput.cs} | 2 +-
.../Grants/Dto/PersistedGrantDto.cs | 6 +
.../Grants/IPersistedGrantAppService.cs | 12 +
.../Dto/IdentityResourceClaimDto.cs | 6 +
.../Dto/IdentityResourceCreateOrUpdateDto.cs | 8 +-
.../Dto/IdentityResourceDto.cs | 10 +-
.../Dto/IdentityResourcePropertyDto.cs | 6 +
.../Localization/Resources/en.json | 19 +-
.../Localization/Resources/zh-Hans.json | 19 +-
.../LINGYUN/Abp/IdentityServer/PropertyDto.cs | 9 +
.../LINGYUN/Abp/IdentityServer/ScopeDto.cs | 7 +
.../{SecretBaseDto.cs => SecretDto.cs} | 3 +-
.../Abp/IdentityServer/UserClaimDto.cs | 7 +
...GYUN.Abp.IdentityServer.Application.csproj | 8 +-
.../AbpIdentityServerApplicationModule.cs | 6 +-
.../AbpIdentityServerAutoMapperProfile.cs | 48 +-
.../ApiResources/ApiResourceAppService.cs | 78 +-
.../ApiScopes/ApiScopeAppService.cs | 142 ++
.../Clients/ClientAppService.cs | 85 +-
.../Grants/PersistedGrantAppService.cs | 46 +-
.../IdentityResourceAppService.cs | 19 +-
.../LINGYUN.Abp.IdentityServer.Domain.csproj | 4 +-
.../ApiScopes/IApiScopeRepository.cs | 13 +
....IdentityServer.EntityFrameworkCore.csproj | 4 +-
.../ApiScopes/EfCoreApiScopeRepository.cs | 37 +
.../LINGYUN.Abp.IdentityServer.HttpApi.csproj | 4 +-
.../ApiScopes/ApiScopeController.cs | 56 +
.../Grants/PersistedGrantController.cs | 43 +
...YUN.Abp.IdentityServer.SmsValidator.csproj | 4 +-
.../LINGYUN.Abp.IdentityServer.WeChat.csproj | 4 +-
...essageService.Application.Contracts.csproj | 4 +-
...GYUN.Abp.MessageService.Application.csproj | 2 +-
...UN.Abp.MessageService.Domain.Shared.csproj | 4 +-
.../LINGYUN.Abp.MessageService.Domain.csproj | 10 +-
....MessageService.EntityFrameworkCore.csproj | 4 +-
...N.Abp.MessageService.HttpApi.Client.csproj | 2 +-
.../LINGYUN.Abp.MessageService.HttpApi.csproj | 4 +-
...YUN.Abp.PermissionManagement.Domain.csproj | 2 +-
.../FixClientPermissionValueProvider.cs | 2 +-
...GYUN.Platform.Application.Contracts.csproj | 2 +-
.../LINGYUN.Platform.Domain.Shared.csproj | 2 +-
.../LINGYUN.Platform.Domain.csproj | 8 +-
...INGYUN.Platform.EntityFrameworkCore.csproj | 4 +-
.../PlatformEfCoreQueryableExtensions.cs | 2 +-
.../Versions/EfCoreVersionRepository.cs | 9 +-
.../LINGYUN.Platform.HttpApi.csproj | 6 +-
...ingManagement.Application.Contracts.csproj | 4 +-
...N.Abp.SettingManagement.Application.csproj | 4 +-
...NGYUN.Abp.SettingManagement.HttpApi.csproj | 4 +-
.../LINGYUN.Abp.MultiTenancy.DbFinder.csproj | 4 +-
...GYUN.Abp.MultiTenancy.RemoteService.csproj | 2 +-
...antManagement.Application.Contracts.csproj | 4 +-
...UN.Abp.TenantManagement.Application.csproj | 2 +-
...Abp.TenantManagement.HttpApi.Client.csproj | 2 +-
...INGYUN.Abp.TenantManagement.HttpApi.csproj | 4 +-
...INGYUN.Abp.WeChat.SettingManagement.csproj | 6 +-
.../LINGYUN.Abp.WeChat.csproj | 8 +-
.../AuthServer.Host/AuthServer.Host.csproj | 38 +-
.../IdentityServerDataSeedContributor.cs | 75 +-
...uthServerHostMigrationsDbContextFactory.cs | 5 +-
...201222101851_Upgrade-Abp-4.0.0.Designer.cs | 1770 +++++++++++++++++
.../20201222101851_Upgrade-Abp-4.0.0.cs | 657 ++++++
...yServerMigrationsDbContextModelSnapshot.cs | 1022 ++++++----
.../Account/TwoFactorSupportedLoginModel.cs | 4 +-
.../identity-server-upgrate-4.1.sql | 314 +++
.../BackendAdminHostModule.cs | 3 +-
...kendAdminHostMigrationsDbContextFactory.cs | 4 +-
...NGYUN.Abp.BackendAdmin.HttpApi.Host.csproj | 50 +-
.../LINGYUN.ApiGateway.Host.csproj | 26 +-
.../LINGYUN.ApiGateway.Host/event-bus-cap.db | Bin 40960 -> 40960 bytes
.../ApiGatewayHttpApiHostModule.cs | 5 +-
.../ApiGatewayAdminDataSeedContributor.cs | 2 +-
.../HttpApiHostMigrationsDbContextFactory.cs | 3 +-
.../LINGYUN.ApiGateway.HttpApi.Host.csproj | 32 +-
.../Permissions/PermissionChecker.cs | 60 +-
...UN.Abp.IdentityServer4.HttpApi.Host.csproj | 42 +-
...geServiceHostMigrationsDbContextFactory.cs | 3 +-
...YUN.Abp.MessageService.HttpApi.Host.csproj | 32 +-
.../AppPlatformHttpApiHostModule.cs | 3 +-
...rmHttpApiHostMigrationsDbContextFactory.cs | 3 +-
.../LINGYUN.Platform.HttpApi.Host.csproj | 42 +-
...INGYUN.Abp.BlobStoring.Aliyun.Tests.csproj | 2 +-
...NGYUN.Abp.EntityFrameworkCore.Tests.csproj | 6 +-
...bp.ExceptionHandling.Emailing.Tests.csproj | 2 +-
...eatures.LimitValidation.Redis.Tests.csproj | 2 +-
....Abp.Features.LimitValidation.Tests.csproj | 2 +-
.../LINGYUN.Abp.TestsBase.csproj | 10 +-
vueJs/debug.log | 2 +
vueJs/src/api/api-resources.ts | 71 +-
vueJs/src/api/api-scopes.ts | 92 +
vueJs/src/api/clients.ts | 77 +-
vueJs/src/api/data-dictionary.ts | 10 +-
vueJs/src/api/identity-resources.ts | 28 +-
vueJs/src/api/identity-server4.ts | 26 +
vueJs/src/api/layout.ts | 6 +-
vueJs/src/api/menu.ts | 10 +-
vueJs/src/api/types.ts | 10 +
vueJs/src/permission.ts | 2 +-
vueJs/src/store/modules/permission.ts | 26 +-
vueJs/src/utils/index.ts | 4 +-
.../ApiResourceCreateOrEditForm.vue | 226 ++-
.../components/ApiResourceScopeEditForm.vue | 270 ---
.../identityServer/api-resources/index.vue | 97 +-
.../components/ApiScopeCreateOrEditForm.vue | 278 +++
.../admin/identityServer/api-scopes/index.vue | 242 +++
.../client/components/ClientClaimEditForm.vue | 66 +-
.../client/components/ClientCloneForm.vue | 12 +-
.../client/components/ClientCreateForm.vue | 112 +-
.../client/components/ClientEditForm.vue | 716 +++----
.../client/components/ClientIdpEditForm.vue | 117 ++
.../client/components/ClientScopeEditForm.vue | 67 +
.../components/ClientSecretEditForm.vue | 42 +
.../client/components/GrantTypeEditForm.vue | 137 ++
.../admin/identityServer/client/index.vue | 12 +-
.../components/PropertiesEditForm.vue | 78 +-
.../components/ScopeEditForm.vue | 65 +
.../components/SecretEditForm.vue | 77 +-
.../components/UrlsEditForm.vue | 131 ++
.../components/UserClaimEditForm.vue | 61 +
.../IdentityResourceCreateOrEditForm.vue | 123 +-
.../identity-resources/index.vue | 48 +-
278 files changed, 6977 insertions(+), 3840 deletions(-)
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN.ApiGateWay.Admin.Domain.Shared.csproj
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainSharedModule.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/HostAndPortConsts.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandlerConsts.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/ApiGateWayAdminResource.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/en.json
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/zh-Hans.json
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/RouteGroupAppKey.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN.ApiGateWay.Admin.Domain.csproj
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainModule.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Globals/Global.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/HostAndPort.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/DownstreamHttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandler.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHandler.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHeader.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpQuery.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/UpstreamHttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/LoadBalancer.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/QoS.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/RateLimitRule.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/Route.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddRequestHttpHeader.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestClaim.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestHttpQuery.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAllowedScope.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAuthentication.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteCache.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHostAndPort.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamTransformHttpHeader.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpDelegatingHandler.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpHandler.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteLoadBalancer.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteQos.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRateLimitRule.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRequirementClaim.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamHttpMethod.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamTransformHttpHeader.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/Claim.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteClientWhite.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPBlock.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPWhite.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteSecurity.cs
delete mode 100644 aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/Newtonsoft/Json/HexLongConverter.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceClaimDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourcePropertyDto.cs
rename aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/{ApiScopeCreateDto.cs => ApiResourceScopeCreateDto.cs} (59%)
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeDto.cs
rename aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/{ApiSecretCreateOrUpdateDto.cs => ApiResourceSecretCreateOrUpdateDto.cs} (64%)
rename aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/{ApiSecretDto.cs => ApiResourceSecretDto.cs} (57%)
delete mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeClaimDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateOrUpdateDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopePropertyDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeUpdateDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/GetApiScopeInput.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeAppService.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCorsOriginDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientGrantTypeDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientIdPRestrictionDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPostLogoutRedirectUriDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPropertyDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientRedirectUriDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientScopeDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Devices/Dto/DeviceFlowCodesDto.cs
rename aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/{PersistedGrantGetPagedDto.cs => GetPersistedGrantInput.cs} (70%)
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/IPersistedGrantAppService.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceClaimDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourcePropertyDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/PropertyDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ScopeDto.cs
rename aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/{SecretBaseDto.cs => SecretDto.cs} (80%)
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/UserClaimDto.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeAppService.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeRepository.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN/Abp/IdentityServer/ApiScopes/EfCoreApiScopeRepository.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeController.cs
create mode 100644 aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantController.cs
create mode 100644 aspnet-core/services/account/AuthServer.Host/Migrations/20201222101851_Upgrade-Abp-4.0.0.Designer.cs
create mode 100644 aspnet-core/services/account/AuthServer.Host/Migrations/20201222101851_Upgrade-Abp-4.0.0.cs
create mode 100644 aspnet-core/services/account/AuthServer.Host/identity-server-upgrate-4.1.sql
create mode 100644 vueJs/src/api/api-scopes.ts
delete mode 100644 vueJs/src/views/admin/identityServer/api-resources/components/ApiResourceScopeEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/api-scopes/components/ApiScopeCreateOrEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/api-scopes/index.vue
create mode 100644 vueJs/src/views/admin/identityServer/client/components/ClientIdpEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/client/components/ClientScopeEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/client/components/ClientSecretEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/client/components/GrantTypeEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/components/ScopeEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/components/UrlsEditForm.vue
create mode 100644 vueJs/src/views/admin/identityServer/components/UserClaimEditForm.vue
diff --git a/.gitignore b/.gitignore
index 455fa020f..5989a3cbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,7 @@ bin
Logs
appsettings.json
appsettings.*.json
+tempkey.jwk
.vs
/tests/e2e/videos/
diff --git a/aspnet-core/LINGYUN.MicroService.ApiGateway.sln b/aspnet-core/LINGYUN.MicroService.ApiGateway.sln
index 82cf7d3ce..68b066655 100644
--- a/aspnet-core/LINGYUN.MicroService.ApiGateway.sln
+++ b/aspnet-core/LINGYUN.MicroService.ApiGateway.sln
@@ -31,10 +31,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{D6629D
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.EventBus.CAP", "modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.csproj", "{1DA1835B-9EA4-4095-A8CF-10E2778206D3}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.ApiGateWay.Admin.Domain.Shared", "modules\apigateway\LINGYUN.ApiGateWay.Admin.Domain.Shared\LINGYUN.ApiGateWay.Admin.Domain.Shared.csproj", "{1CC3B44E-213A-4853-8128-9935F2A4C5D4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.ApiGateWay.Admin.Domain", "modules\apigateway\LINGYUN.ApiGateWay.Admin.Domain\LINGYUN.ApiGateWay.Admin.Domain.csproj", "{1D548FA0-2A8F-455F-8814-F152751FB738}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -81,14 +77,6 @@ Global
{1DA1835B-9EA4-4095-A8CF-10E2778206D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1DA1835B-9EA4-4095-A8CF-10E2778206D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1DA1835B-9EA4-4095-A8CF-10E2778206D3}.Release|Any CPU.Build.0 = Release|Any CPU
- {1CC3B44E-213A-4853-8128-9935F2A4C5D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1CC3B44E-213A-4853-8128-9935F2A4C5D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1CC3B44E-213A-4853-8128-9935F2A4C5D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1CC3B44E-213A-4853-8128-9935F2A4C5D4}.Release|Any CPU.Build.0 = Release|Any CPU
- {1D548FA0-2A8F-455F-8814-F152751FB738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1D548FA0-2A8F-455F-8814-F152751FB738}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1D548FA0-2A8F-455F-8814-F152751FB738}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1D548FA0-2A8F-455F-8814-F152751FB738}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -106,8 +94,6 @@ Global
{4757C7D9-6AE9-477D-9829-55D9906AC3E6} = {AD93DD04-989C-40BE-A3F4-25DABF290423}
{D6629DD3-BA0F-44B5-A97F-3B992ECAB85D} = {630FB448-8C5C-438F-930D-B0209407DE6A}
{1DA1835B-9EA4-4095-A8CF-10E2778206D3} = {D6629DD3-BA0F-44B5-A97F-3B992ECAB85D}
- {1CC3B44E-213A-4853-8128-9935F2A4C5D4} = {AD93DD04-989C-40BE-A3F4-25DABF290423}
- {1D548FA0-2A8F-455F-8814-F152751FB738} = {AD93DD04-989C-40BE-A3F4-25DABF290423}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B327C65A-BD15-480D-825E-9D5A870C521A}
diff --git a/aspnet-core/common.props b/aspnet-core/common.props
index bb4a0f908..4583a40fe 100644
--- a/aspnet-core/common.props
+++ b/aspnet-core/common.props
@@ -1,7 +1,7 @@
latest
- 3.3.0
+ 4.0.0
LINGYUN
$(NoWarn);CS1591;CS0436
https://github.com/colinin/abp-vue-admin-element-typescript/
diff --git a/aspnet-core/configuration/account/AuthServer.Host/appsettings.Development.json b/aspnet-core/configuration/account/AuthServer.Host/appsettings.Development.json
index de75a6e93..0b36d2d19 100644
--- a/aspnet-core/configuration/account/AuthServer.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/account/AuthServer.Host/appsettings.Development.json
@@ -62,7 +62,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "auth-service"
+ "ApiName": "lingyun-abp-application"
},
"WeChat": {
"Auth": {
diff --git a/aspnet-core/configuration/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/appsettings.Development.json b/aspnet-core/configuration/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/appsettings.Development.json
index 275a624bc..3440b6601 100644
--- a/aspnet-core/configuration/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/admin/LINGYUN.Abp.BackendAdmin.HttpApi.Host/appsettings.Development.json
@@ -88,7 +88,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "auth-service"
+ "ApiName": "lingyun-abp-application"
},
"Serilog": {
"MinimumLevel": {
diff --git a/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.Host/appsettings.Development.json b/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.Host/appsettings.Development.json
index 5fa543474..2c0b4a5a2 100644
--- a/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.Host/appsettings.Development.json
@@ -9,20 +9,18 @@
},
"RemoteServices": {
"ApiGateway": {
- "BaseUrl": "http://localhost:30001/",//Ocelot Api代理地址,参见Volo.Abp.HttpClient
- "IdentityClient": "apigateway-host-client"
+ "BaseUrl": "http://localhost:30001/",
+ "IdentityClient": "ApigatewayHostClient"
}
},
- "IdentityClients": {//这里是用于Ocelot主机去API服务器获取参数授权用的,参见Volo.Abp.HttpClient.IdentityModel
- "apigateway-host-client": {
+ "IdentityClients": {
+ "ApigatewayHostClient": {
"Authority": "http://localhost:44385",
"RequireHttps": false,
"GrantType": "client_credentials",
- "ClientId": "apigateway-host-client",
- "Scope": "apigateway-service",
+ "ClientId": "ApigatewayHostClient",
"ClientSecret": "1q2w3e*",
- "UserName": "ocelotHost",
- "UserPassword": "Ocelot1."
+ "Scope": "lingyun-abp-application"
}
},
"EnabledDynamicOcelot": true,
@@ -43,9 +41,8 @@
}
},
"AuthServer": {
- "Authority": "http://localhost:44385/",//填写你的IdentityServer服务器地址
- "ApiName": "apigateway-service",//填写你的IdentityServer服务器注册的ApiName
- "ApiSecret": "defj98734htgrb90365D23"//填写你的IdentityServer服务器注册的ApiSecret
+ "Authority": "http://localhost:44385/",
+ "ApiName": "lingyun-abp-application"
},
"Serilog": {
"MinimumLevel": {
diff --git a/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.HttpApi.Host/appsettings.Development.json b/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.HttpApi.Host/appsettings.Development.json
index 169d08a49..c7cadad11 100644
--- a/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/apigateway/LINGYUN.ApiGateway.HttpApi.Host/appsettings.Development.json
@@ -39,8 +39,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "apigateway-service",
- "ApiSecret": "defj98734htgrb90365D23"
+ "ApiName": "lingyun-abp-application"
},
"Serilog": {
"MinimumLevel": {
diff --git a/aspnet-core/configuration/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/appsettings.Development.json b/aspnet-core/configuration/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/appsettings.Development.json
index 6b860626b..09e593f60 100644
--- a/aspnet-core/configuration/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/identity-server/LINGYUN.Abp.IdentityServer4.HttpApi.Host/appsettings.Development.json
@@ -74,7 +74,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "auth-service"
+ "ApiName": "lingyun-abp-application"
},
"Serilog": {
"MinimumLevel": {
diff --git a/aspnet-core/configuration/messages/LINGYUN.Abp.MessageService.HttpApi.Host/appsettings.Development.json b/aspnet-core/configuration/messages/LINGYUN.Abp.MessageService.HttpApi.Host/appsettings.Development.json
index e910c3b27..a1902937e 100644
--- a/aspnet-core/configuration/messages/LINGYUN.Abp.MessageService.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/messages/LINGYUN.Abp.MessageService.HttpApi.Host/appsettings.Development.json
@@ -22,7 +22,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "auth-service"
+ "ApiName": "lingyun-abp-application"
},
"Hangfire": {
"MySql": {
diff --git a/aspnet-core/configuration/platform/LINGYUN.Platform.HttpApi.Host/appsettings.Development.json b/aspnet-core/configuration/platform/LINGYUN.Platform.HttpApi.Host/appsettings.Development.json
index ef05ee973..9b8ee492e 100644
--- a/aspnet-core/configuration/platform/LINGYUN.Platform.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/configuration/platform/LINGYUN.Platform.HttpApi.Host/appsettings.Development.json
@@ -31,6 +31,22 @@
"VirtualHost": "Name of your RabbitMQ server VirtualHost"
}
},
+ "RemoteServices": {
+ "AbpIdentity": {
+ "BaseUrl": "http://localhost:30015/",
+ "IdentityClient": "internal-service-client"
+ }
+ },
+ "IdentityClients": {
+ "internal-service-client": {
+ "Authority": "http://localhost:44385",
+ "RequireHttps": false,
+ "GrantType": "client_credentials",
+ "Scope": "lingyun-abp-application",
+ "ClientId": "internal-service-client",
+ "ClientSecret": "1q2w3e*"
+ }
+ },
"Redis": {
"Configuration": "127.0.0.1",
"InstanceName": "LINGYUN.AbpApplication",
@@ -38,7 +54,7 @@
},
"AuthServer": {
"Authority": "http://localhost:44385/",
- "ApiName": "auth-service"
+ "ApiName": "lingyun-abp-application"
},
"Serilog": {
"MinimumLevel": {
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj
index e2ec82337..b2704d330 100644
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj
index 3e595fe0f..42a1b17a1 100644
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj
index df3312e51..d7b60e1a2 100644
--- a/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj
+++ b/aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN.ApiGateWay.Admin.Domain.Shared.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN.ApiGateWay.Admin.Domain.Shared.csproj
deleted file mode 100644
index 7ceb12aac..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN.ApiGateWay.Admin.Domain.Shared.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainSharedModule.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainSharedModule.cs
deleted file mode 100644
index 4d63fbcee..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainSharedModule.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Localization;
-using Volo.Abp.Localization;
-using Volo.Abp.Localization.ExceptionHandling;
-using Volo.Abp.Modularity;
-using Volo.Abp.VirtualFileSystem;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- [DependsOn(typeof(AbpLocalizationModule))]
- public class ApiGateWayAdminDomainSharedModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.FileSets.AddEmbedded();
- });
-
- Configure(options =>
- {
- options.Resources
- .Add("zh-Hans")
- .AddVirtualJson("/LINGYUN/ApiGateWay/Admin/Localization/Resources");
- });
-
- Configure(options =>
- {
- options.MapCodeNamespace("ApiGateWayAdmin", typeof(ApiGateWayAdminResource));
- });
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/HostAndPortConsts.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/HostAndPortConsts.cs
deleted file mode 100644
index 3dee1c02d..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/HostAndPortConsts.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class HostAndPortConsts
- {
- // 计算机名最大长度
- public const int MaxHostLength = 255;
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandlerConsts.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandlerConsts.cs
deleted file mode 100644
index 9b710ade9..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandlerConsts.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class HttpDelegatingHandlerConsts
- {
- public const int MaxNameLength = 256;
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/ApiGateWayAdminResource.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/ApiGateWayAdminResource.cs
deleted file mode 100644
index 3293ea60e..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/ApiGateWayAdminResource.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Volo.Abp.Localization;
-
-namespace LINGYUN.ApiGateWay.Admin.Localization
-{
- [LocalizationResourceName("ApiGatewayAdmin")]
- public class ApiGateWayAdminResource
- {
-
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/en.json b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/en.json
deleted file mode 100644
index a9c8dcc3f..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/en.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "culture": "en",
- "texts": {
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/zh-Hans.json b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/zh-Hans.json
deleted file mode 100644
index 50324cb8c..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/Localization/Resources/zh-Hans.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "zh-Hans",
- "texts": {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/RouteGroupAppKey.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/RouteGroupAppKey.cs
deleted file mode 100644
index 24dced636..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain.Shared/LINGYUN/ApiGateWay/Admin/RouteGroupAppKey.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class RouteGroupAppKey
- {
- public string AppId { get; }
- public string AppName { get; }
- public RouteGroupAppKey(string appId, string appName)
- {
- AppId = appId;
- AppName = appName;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN.ApiGateWay.Admin.Domain.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN.ApiGateWay.Admin.Domain.csproj
deleted file mode 100644
index dfb938689..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN.ApiGateWay.Admin.Domain.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainModule.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainModule.cs
deleted file mode 100644
index a0f73e2a7..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/ApiGateWayAdminDomainModule.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Volo.Abp.Domain;
-using Volo.Abp.Modularity;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- [DependsOn(
- typeof(ApiGateWayAdminDomainSharedModule),
- typeof(AbpDddDomainModule))]
- public class ApiGateWayAdminDomainModule : AbpModule
- {
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Globals/Global.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Globals/Global.cs
deleted file mode 100644
index c317fba3e..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Globals/Global.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Volo.Abp.Domain.Entities.Auditing;
-
-namespace LINGYUN.ApiGateWay.Admin.Globals
-{
- public class Global : FullAuditedAggregateRoot
- {
-
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/HostAndPort.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/HostAndPort.cs
deleted file mode 100644
index 883643b3d..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/HostAndPort.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using JetBrains.Annotations;
-using System;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class HostAndPort : Entity
- {
- public virtual string Host { get; protected set; }
- public virtual int? Port { get; protected set; }
- protected HostAndPort()
- {
-
- }
-
- public HostAndPort(Guid id, [NotNull] string host, int? port = null)
- {
- Id = id;
- BindHost(host, port);
- }
-
- public void BindHost([NotNull] string host, int? port = null)
- {
- Check.NotNullOrWhiteSpace(host, nameof(host), HostAndPortConsts.MaxHostLength);
- Host = host;
- Port = port;
- }
-
- public override int GetHashCode()
- {
- if (!Host.IsNullOrWhiteSpace())
- {
- if (Port.HasValue)
- {
- return Host.GetHashCode() & Port.Value;
- }
- return Host.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Host.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is HostAndPort hostAndPort)
- {
- if (Port.HasValue)
- {
- return hostAndPort.Host.Equals(Host) &&
- Port.Equals(hostAndPort.Port);
- }
- return hostAndPort.Host.Equals(Host);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/DownstreamHttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/DownstreamHttpMethod.cs
deleted file mode 100644
index 480f50e03..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/DownstreamHttpMethod.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class DownstreamHttpMethod : HttpMethod
- {
- public DownstreamHttpMethod(Guid id, string method)
- : base(id, method)
- {
-
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandler.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandler.cs
deleted file mode 100644
index d7cc305db..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpDelegatingHandler.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using JetBrains.Annotations;
-using System;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class HttpDelegatingHandler : Entity
- {
- public virtual string Name { get; protected set; }
- protected HttpDelegatingHandler()
- {
-
- }
-
- public HttpDelegatingHandler(Guid id, [NotNull] string name)
- {
- Id = id;
- Name = Check.NotNullOrWhiteSpace(name, nameof(name), HttpDelegatingHandlerConsts.MaxNameLength);
- }
-
- public override int GetHashCode()
- {
- if (!Name.IsNullOrWhiteSpace())
- {
- return Name.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Name.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is HttpDelegatingHandler handler)
- {
- return Name.Equals(handler.Name, StringComparison.CurrentCultureIgnoreCase);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHandler.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHandler.cs
deleted file mode 100644
index 80802452d..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHandler.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class HttpHandler : Entity
- {
- ///
- /// 每台服务器最大连接数
- ///
- public virtual int? MaxConnectionsPerServer { get; protected set; }
- ///
- /// 允许自动重定向
- ///
- public virtual bool AllowAutoRedirect { get; set; }
- ///
- /// 使用Cookie容器
- ///
- public virtual bool UseCookieContainer { get; set; }
- ///
- /// 启用跟踪
- ///
- public virtual bool UseTracing { get; set; }
- ///
- /// 启用代理
- ///
- public virtual bool UseProxy { get; set; }
- protected HttpHandler()
- {
-
- }
-
- public HttpHandler(Guid id)
- {
- Id = id;
- }
-
- public void ChangeMaxConnection(int? maxConnection = 1000)
- {
- MaxConnectionsPerServer = maxConnection;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHeader.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHeader.cs
deleted file mode 100644
index b0407ccdf..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpHeader.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using JetBrains.Annotations;
-using System;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public abstract class HttpHeader : Entity
- {
- public virtual string Key { get; protected set; }
- public virtual string Value { get; protected set; }
-
- protected HttpHeader()
- {
-
- }
-
- protected HttpHeader(Guid id, [NotNull] string key, [NotNull] string value)
- {
- Id = id;
- Key = Check.NotNullOrWhiteSpace(key, nameof(key));
- Value = Check.NotNullOrWhiteSpace(value, nameof(value));
- }
-
- public override int GetHashCode()
- {
- if (!Key.IsNullOrWhiteSpace() &&
- !Value.IsNullOrWhiteSpace())
- {
- return Key.GetHashCode() & Value.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Key.IsNullOrWhiteSpace() ||
- Value.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is HttpHeader httpHeader)
- {
- return httpHeader.Key.Equals(Key, StringComparison.CurrentCultureIgnoreCase) &&
- httpHeader.Value.Equals(Value, StringComparison.CurrentCultureIgnoreCase);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpMethod.cs
deleted file mode 100644
index 9a5acaadf..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpMethod.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public abstract class HttpMethod : Entity
- {
- ///
- /// Http调用方法
- ///
- public virtual string Method { get; protected set; }
- protected HttpMethod()
- {
-
- }
- protected HttpMethod(Guid id, string method)
- {
- Id = id;
- Method = method;
- }
-
- public override int GetHashCode()
- {
- if (!Method.IsNullOrWhiteSpace())
- {
- return Method.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Method.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is HttpMethod httpMethod)
- {
- return httpMethod.Method.Equals(Method);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpQuery.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpQuery.cs
deleted file mode 100644
index 91a344383..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/HttpQuery.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using JetBrains.Annotations;
-using System;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class HttpQuery : Entity
- {
- public virtual string Key { get; protected set; }
- public virtual string Value { get; protected set; }
-
- protected HttpQuery()
- {
-
- }
-
- protected HttpQuery(Guid id, [NotNull] string key, [NotNull] string value)
- {
- Id = id;
- Key = Check.NotNullOrWhiteSpace(key, nameof(key));
- Value = Check.NotNullOrWhiteSpace(value, nameof(value));
- }
-
- public override int GetHashCode()
- {
- if (!Key.IsNullOrWhiteSpace() &&
- !Value.IsNullOrWhiteSpace())
- {
- return Key.GetHashCode() & Value.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Key.IsNullOrWhiteSpace() ||
- Value.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is HttpQuery httpQuery)
- {
- return Key.Equals(httpQuery.Key, StringComparison.CurrentCultureIgnoreCase) &&
- Value.Equals(httpQuery.Value, StringComparison.CurrentCultureIgnoreCase);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/UpstreamHttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/UpstreamHttpMethod.cs
deleted file mode 100644
index d9ffe0dae..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Http/UpstreamHttpMethod.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Http
-{
- public class UpstreamHttpMethod : HttpMethod
- {
- public UpstreamHttpMethod(Guid id, string method)
- : base(id, method)
- {
-
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/LoadBalancer.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/LoadBalancer.cs
deleted file mode 100644
index bab6275ef..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/LoadBalancer.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class LoadBalancer : Entity
- {
- ///
- /// 负载均衡类型
- ///
- public virtual string Type { get; private set; }
- ///
- /// 用于Cookie会话密钥
- ///
- public virtual string Key { get; private set; }
- ///
- /// 会话阻断时间
- ///
- public virtual int? Expiry { get; private set; }
- protected LoadBalancer()
- {
-
- }
- public LoadBalancer(Guid id, string type, string key, int? expiry = null)
- {
- Id = id;
- ApplyPolicy(type, key, expiry);
- }
-
- public void ApplyPolicy(string type, string key, int? expiry = null)
- {
- Type = type;
- Key = key;
- Expiry = expiry;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/QoS.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/QoS.cs
deleted file mode 100644
index 1fac583e0..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/QoS.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class QoS : Entity
- {
- public virtual int? ExceptionsAllowedBeforeBreaking { get; private set; }
-
- public virtual int? DurationOfBreak { get; private set; }
-
- public virtual int? TimeoutValue { get; private set; }
-
- protected QoS()
- {
-
- }
-
- public QoS(Guid id, int? exceptionsAllowdBeforeBreaking = null, int? durationOfBreak = null, int? timeOut = null)
- {
- Id = id;
- ApplyPolicy(exceptionsAllowdBeforeBreaking, durationOfBreak, timeOut);
- }
-
- public void ApplyPolicy(int? exceptionsAllowdBeforeBreaking = null, int? durationOfBreak = null, int? timeOut = null)
- {
- ExceptionsAllowedBeforeBreaking = exceptionsAllowdBeforeBreaking;
- DurationOfBreak = durationOfBreak;
- TimeoutValue = timeOut;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/RateLimitRule.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/RateLimitRule.cs
deleted file mode 100644
index 868301386..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/RateLimitRule.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Security;
-using System;
-using System.Collections.Generic;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin
-{
- public class RateLimitRule : Entity
- {
- ///
- /// 客户端白名单列表,多个以分号分隔
- ///
- public virtual ICollection ClientWhiteList { get; private set; }
- ///
- /// 是否启用流量现值
- ///
- public virtual bool EnableRateLimiting { get; private set; }
- ///
- /// 限速时段
- ///
- public virtual string Period { get; private set; }
- ///
- /// 速率极限周期
- ///
- public virtual double? PeriodTimespan { get; private set; }
- ///
- /// 客户端在定义的时间内可以发出的最大请求数
- ///
- public virtual long? Limit { get; private set; }
-
- protected RateLimitRule()
- {
- ClientWhiteList = new List();
- }
-
- public RateLimitRule(Guid id, string period = "", double? periodTimespan = null,
- long? limit = null, bool enabled = true)
- {
- Id = id;
- ChangeRateLimitState(enabled);
- ApplyPolicy(period, periodTimespan, limit);
- }
-
- public void ChangeRateLimitState(bool enabled = true)
- {
- EnableRateLimiting = enabled;
- }
-
- public void ApplyPolicy(string period = "", double? periodTimespan = null,
- long? limit = null)
- {
- Period = period;
- PeriodTimespan = periodTimespan;
- Limit = limit;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/Route.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/Route.cs
deleted file mode 100644
index 7bac3ce3e..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/Route.cs
+++ /dev/null
@@ -1,348 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Security;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Linq;
-using Volo.Abp.Domain.Entities.Auditing;
-using Volo.Abp.Guids;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class Route : FullAuditedAggregateRoot
- {
- ///
- /// 应用标识
- ///
- public virtual string AppId { get; protected set; }
- ///
- /// 路由名称
- ///
- public virtual string Name { get; protected set; }
- ///
- /// 请求标识
- ///
- public virtual string RequestIdKey { get; set; }
- ///
- /// 是否区分大小写
- ///
- public virtual bool RouteIsCaseSensitive { get; set; }
- ///
- /// 服务名称
- ///
- public virtual string ServiceName { get; protected set; }
- ///
- /// 服务命名空间
- ///
- public virtual string ServiceNamespace { get; protected set; }
- ///
- /// 下游协议
- ///
- public virtual string DownstreamScheme { get; set; }
- ///
- /// 下游路由路径
- ///
- public virtual string DownstreamPathTemplate { get; protected set; }
- ///
- /// 上游路由路径
- ///
- public virtual string UpstreamPathTemplate { get; protected set; }
- ///
- /// 变更下游路径
- ///
- public virtual string ChangeDownstreamPathTemplate { get; protected set; }
- ///
- /// 上游主机
- ///
- public virtual string UpstreamHost { get; set; }
- ///
- /// 聚合标识
- ///
- public virtual string Key { get; set; }
- ///
- /// 优先级
- ///
- public virtual int? Priority { get; set; }
- ///
- /// 超时时间
- ///
- public virtual int? Timeout { get; set; }
- ///
- /// 忽略SSL警告
- ///
- public virtual bool DangerousAcceptAnyServerCertificateValidator { get; set; }
- ///
- /// 下游版本号
- ///
- public virtual string DownstreamHttpVersion { get; set; }
- ///
- /// 下游Http方法列表
- ///
- public virtual ICollection UpstreamHttpMethods { get; protected set; }
- ///
- /// 上游Http方法列表
- ///
- public virtual ICollection DownstreamHttpMethods { get; protected set; }
- ///
- /// 添加请求头参数
- ///
- public virtual ICollection AddHeadersToRequest { get; protected set; }
- ///
- /// 下游请求头转换
- ///
- public virtual ICollection UpstreamHeaderTransform { get; protected set; }
- ///
- /// 上游请求头转换
- ///
- public virtual ICollection DownstreamHeaderTransform { get; protected set; }
- ///
- /// 请求声明转换
- ///
- public virtual ICollection AddClaimsToRequest { get; protected set; }
- ///
- /// 请求必须的声明
- ///
- public virtual ICollection RouteClaimsRequirement { get; protected set; }
- ///
- /// 用户声明到请求头转换
- ///
- public virtual ICollection AddQueriesToRequest { get; protected set; }
- ///
- /// 下游主机列表
- ///
- public virtual ICollection DownstreamHostAndPorts { get; protected set; }
- ///
- /// 授权处理器列表
- ///
- public virtual ICollection DelegatingHandlers { get; protected set; }
- ///
- /// Http选项
- ///
- public virtual RouteHttpHandler HttpHandler { get; protected set; }
- ///
- /// 授权
- ///
- public virtual RouteAuthentication Authentication { get; protected set; }
- ///
- /// 速率限制
- ///
- public virtual RouteRateLimitRule RouteRateLimitRule { get; protected set; }
- ///
- /// 负债均衡
- ///
- public virtual RouteLoadBalancer LoadBalancer { get; protected set; }
- ///
- /// 服务质量
- ///
- public virtual RouteQos QoS { get; protected set; }
- ///
- /// 文件缓存
- ///
- public virtual RouteCache Cache { get; protected set; }
- ///
- /// 安全策略
- ///
- public virtual RouteSecurity Security { get; protected set; }
-
- protected Route()
- {
- UpstreamHttpMethods = new Collection();
- DownstreamHttpMethods = new Collection();
- AddHeadersToRequest = new Collection();
- UpstreamHeaderTransform = new Collection();
- DownstreamHeaderTransform = new Collection();
- AddClaimsToRequest = new Collection();
- RouteClaimsRequirement = new Collection();
- AddQueriesToRequest = new Collection();
- DownstreamHostAndPorts = new Collection();
- DelegatingHandlers = new Collection();
- }
-
- public void AddDownstreamHttpMethod(IGuidGenerator generator, string method)
- {
- DownstreamHttpMethods.AddIfNotContains(new RouteDownstreamHttpMethod(Id, generator.Create(), method)); ;
- }
-
- public void RemoveDownstreamHttpMethod(string method)
- {
- DownstreamHttpMethods.RemoveAll(x => x.Method.Equals(method, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllDownstreamHttpMethod()
- {
- DownstreamHttpMethods.Clear();
- }
-
- public void AddUpstreamHttpMethod(IGuidGenerator generator, string method)
- {
- UpstreamHttpMethods.AddIfNotContains(new RouteUpstreamHttpMethod(Id, generator.Create(), method));
- }
-
- public void RemoveUpstreamHttpMethod(string method)
- {
- UpstreamHttpMethods.RemoveAll(x => x.Method.Equals(method, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllUpstreamHttpMethod()
- {
- UpstreamHttpMethods.Clear();
- }
-
- public void AddRequestHeader(IGuidGenerator generator, string key, string value)
- {
- AddHeadersToRequest.AddIfNotContains(new RouteAddRequestHttpHeader(Id, generator.Create(), key, value));
- }
-
- public void RemoveRequestHeader(string key, string value)
- {
- AddHeadersToRequest.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllRequestHeader()
- {
- AddHeadersToRequest.Clear();
- }
-
- public void AddUpstreamHeaderTransform(IGuidGenerator generator, string key, string value)
- {
- UpstreamHeaderTransform.AddIfNotContains(new RouteUpstreamTransformHttpHeader(Id, generator.Create(), key, value));
- }
-
- public void RemoveUpstreamHeaderTransform(string key, string value)
- {
- UpstreamHeaderTransform.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllUpstreamHeaderTransform()
- {
- UpstreamHeaderTransform.Clear();
- }
-
- public void AddDownstreamHeaderTransform(IGuidGenerator generator, string key, string value)
- {
- DownstreamHeaderTransform.AddIfNotContains(new RouteDownstreamTransformHttpHeader(Id, generator.Create(), key, value));
- }
-
- public void RemoveDownstreamHeaderTransform(string key, string value)
- {
- DownstreamHeaderTransform.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllDownstreamHeaderTransform()
- {
- DownstreamHeaderTransform.Clear();
- }
-
- public void AddRequestClaim(IGuidGenerator generator, string key, string value)
- {
- AddClaimsToRequest.AddIfNotContains(new RouteAddToRequestClaim(Id, generator.Create(), key, value));
- }
-
- public void RemoveRequestClaim(string key, string value)
- {
- AddClaimsToRequest.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllRequestClaim()
- {
- AddClaimsToRequest.Clear();
- }
-
- public void AddRequirementClaim(IGuidGenerator generator, string key, string value)
- {
- RouteClaimsRequirement.AddIfNotContains(new RouteRequirementClaim(Id, generator.Create(), key, value));
- }
-
- public void RemoveRequirementClaim(string key, string value)
- {
- RouteClaimsRequirement.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllRequirementClaim()
- {
- RouteClaimsRequirement.Clear();
- }
-
- public void AddRequestQuery(IGuidGenerator generator, string key, string value)
- {
- AddQueriesToRequest.AddIfNotContains(new RouteAddToRequestHttpQuery(Id, generator.Create(), key, value));
- }
-
- public void RemoveRequestQuery(string key, string value)
- {
- AddQueriesToRequest.RemoveAll(x => x.Key.Equals(key, StringComparison.CurrentCultureIgnoreCase)
- && x.Value.Equals(value, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllRequestQuery()
- {
- AddQueriesToRequest.Clear();
- }
-
- public void AddDownstreamHost(IGuidGenerator generator, string host, int? port)
- {
- DownstreamHostAndPorts.AddIfNotContains(new RouteDownstreamHostAndPort(Id, generator.Create(), host, port));
- }
-
- public void RemoveDownstreamHost(string host, int? port)
- {
- DownstreamHostAndPorts.RemoveAll(x => x.Host.Equals(host, StringComparison.CurrentCultureIgnoreCase)
- && x.Port.Equals(port));
- }
-
- public void RemoveAllDownstreamHost()
- {
- DownstreamHostAndPorts.Clear();
- }
-
- public void AddDelegatingHandler(IGuidGenerator generator, string name)
- {
- DelegatingHandlers.AddIfNotContains(new RouteHttpDelegatingHandler(Id, generator.Create(), name));
- }
-
- public void RemoveDelegatingHandler(string name)
- {
- DelegatingHandlers.RemoveAll(x => x.Name.Equals(name, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllDelegatingHandler()
- {
- DelegatingHandlers.Clear();
- }
-
- public void BindService(string serviceName, string @namespace)
- {
- ServiceName = serviceName;
- ServiceNamespace = @namespace;
- }
-
- public void UseHttpHandler(IGuidGenerator generator, bool autoRedirect = false, bool useCookie = false,
- bool useTracking = false, bool useProxy = false, int? maxConnection = 1000)
- {
- if (HttpHandler == null)
- {
- HttpHandler = new RouteHttpHandler(generator.Create(), Id);
- }
- HttpHandler.UseProxy = useProxy;
- HttpHandler.UseTracing = useTracking;
- HttpHandler.UseCookieContainer = useCookie;
- HttpHandler.AllowAutoRedirect = autoRedirect;
- HttpHandler.ChangeMaxConnection(maxConnection);
- }
-
- public void UseAuthentication(IGuidGenerator generator, string provider, IEnumerable allowScope)
- {
- if (Authentication == null)
- {
- Authentication = new RouteAuthentication(generator.Create(), Id, provider);
- }
- Authentication.AddScopes(allowScope);
- }
-
-
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddRequestHttpHeader.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddRequestHttpHeader.cs
deleted file mode 100644
index e6156a66a..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddRequestHttpHeader.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteAddRequestHttpHeader : HttpHeader
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteAddRequestHttpHeader()
- {
-
- }
- public RouteAddRequestHttpHeader(Guid routeId, Guid httpHeaderId, string key, string value)
- : base(httpHeaderId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestClaim.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestClaim.cs
deleted file mode 100644
index 8748da69e..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestClaim.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Security;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteAddToRequestClaim : Claim
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteAddToRequestClaim()
- {
-
- }
- public RouteAddToRequestClaim(Guid routeId, Guid claimId, string key, string value)
- : base(claimId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestHttpQuery.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestHttpQuery.cs
deleted file mode 100644
index b20073e45..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAddToRequestHttpQuery.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteAddToRequestHttpQuery : HttpQuery
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteAddToRequestHttpQuery()
- {
-
- }
- public RouteAddToRequestHttpQuery(Guid routeId, Guid httpQueryId, string key, string value)
- : base(httpQueryId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAllowedScope.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAllowedScope.cs
deleted file mode 100644
index d2913ec8f..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAllowedScope.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteAllowedScope : Entity
- {
- public virtual string Scope { get; protected set; }
- public virtual Guid AuthenticationId { get; protected set; }
- public virtual RouteAuthentication Authentication { get; protected set; }
- protected RouteAllowedScope()
- {
-
- }
-
- public RouteAllowedScope(Guid authenticationId, string scope)
- {
- AuthenticationId = authenticationId;
- Scope = scope;
- }
-
- public override int GetHashCode()
- {
- if (!Scope.IsNullOrWhiteSpace())
- {
- return Scope.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Scope.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is RouteAllowedScope allowedScope)
- {
- return allowedScope.Scope.Equals(Scope);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAuthentication.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAuthentication.cs
deleted file mode 100644
index c67ce7f3c..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteAuthentication.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using System;
-using System.Collections.Generic;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteAuthentication : Entity
- {
- public virtual string AuthenticationProviderKey { get; private set; }
- public virtual ICollection AllowedScopes { get; set; }
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteAuthentication()
- {
- AllowedScopes = new List();
- }
-
- public RouteAuthentication(Guid id, Guid routeId, string providerKey)
- {
- Id = id;
- RouteId = routeId;
- ChangeProvider(providerKey);
- }
-
- public void ChangeProvider(string providerKey)
- {
- AuthenticationProviderKey = providerKey;
- }
-
- public void AddScope(string scope)
- {
- AllowedScopes.AddIfNotContains(new RouteAllowedScope(Id, scope));
- }
-
- public void AddScopes(IEnumerable scope)
- {
- foreach(var scop in scope)
- {
- AddScope(scop);
- }
- }
-
- public void RemoveScope(string scope)
- {
- AllowedScopes.RemoveAll(x => x.Scope.Equals(scope, StringComparison.CurrentCultureIgnoreCase));
- }
-
- public void RemoveAllScope()
- {
- AllowedScopes.Clear();
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteCache.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteCache.cs
deleted file mode 100644
index 082176d35..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteCache.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteCache : Entity
- {
- public virtual int? TtlSeconds { get; private set; }
- public virtual string Region { get; private set; }
- public virtual Guid RouteId { get; private set; }
- public virtual Route Route { get; private set; }
- protected RouteCache()
- {
- }
- public RouteCache(Guid routeId, string region = "", int? ttlSeconds = null)
- {
- RouteId = routeId;
- Region = region;
- TtlSeconds = ttlSeconds;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHostAndPort.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHostAndPort.cs
deleted file mode 100644
index a34016a3f..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHostAndPort.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteDownstreamHostAndPort : HostAndPort
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteDownstreamHostAndPort()
- {
-
- }
- public RouteDownstreamHostAndPort(Guid routeId, Guid hostId, string key, int? port)
- : base(hostId, key, port)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHttpMethod.cs
deleted file mode 100644
index c17811551..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamHttpMethod.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteDownstreamHttpMethod : HttpMethod
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteDownstreamHttpMethod()
- {
-
- }
-
- public RouteDownstreamHttpMethod(Guid routeId, Guid httpMethodId, string method)
- : base(httpMethodId, method)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamTransformHttpHeader.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamTransformHttpHeader.cs
deleted file mode 100644
index 288e50fb3..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteDownstreamTransformHttpHeader.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteDownstreamTransformHttpHeader : HttpHeader
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteDownstreamTransformHttpHeader()
- {
-
- }
- public RouteDownstreamTransformHttpHeader(Guid routeId, Guid httpHeaderId, string key, string value)
- : base(httpHeaderId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpDelegatingHandler.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpDelegatingHandler.cs
deleted file mode 100644
index 473f9627f..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpDelegatingHandler.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using JetBrains.Annotations;
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteHttpDelegatingHandler : HttpDelegatingHandler
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteHttpDelegatingHandler()
- {
-
- }
- public RouteHttpDelegatingHandler(Guid routeId, Guid httpHandlerId, [NotNull] string name)
- : base(httpHandlerId, name)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpHandler.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpHandler.cs
deleted file mode 100644
index dc07f731c..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpHandler.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteHttpHandler : HttpHandler
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteHttpHandler()
- {
-
- }
- public RouteHttpHandler(Guid id, Guid routeId)
- {
- Id = id;
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpMethod.cs
deleted file mode 100644
index d4c099387..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteHttpMethod.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteHttpMethod
- {
-
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteLoadBalancer.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteLoadBalancer.cs
deleted file mode 100644
index 65d38b155..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteLoadBalancer.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteLoadBalancer : Entity
- {
- public virtual Guid LoadBalancerId { get; private set; }
- public virtual LoadBalancer LoadBalancer { get; private set; }
- public virtual Guid RouteId { get; private set; }
- public virtual Route Route { get; private set; }
- protected RouteLoadBalancer()
- {
-
- }
-
- public RouteLoadBalancer(Guid routeId, Guid loadBalancerId)
- {
- RouteId = routeId;
- LoadBalancerId = loadBalancerId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteQos.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteQos.cs
deleted file mode 100644
index c9a4ef23d..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteQos.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteQos : Entity
- {
- public virtual Guid QoSId { get; protected set; }
- public virtual QoS QoS { get; protected set; }
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteQos()
- {
-
- }
- public RouteQos(Guid routeId, Guid qosId)
- {
- RouteId = routeId;
- QoSId = qosId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRateLimitRule.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRateLimitRule.cs
deleted file mode 100644
index 716076e14..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRateLimitRule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteRateLimitRule : Entity
- {
- public virtual Guid RateLimitRuleId { get; protected set; }
- public virtual RateLimitRule RateLimitRule { get; protected set; }
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteRateLimitRule()
- {
-
- }
-
- public RouteRateLimitRule(Guid routeId, Guid rateLimitRuleId)
- {
- RouteId = routeId;
- RateLimitRuleId = rateLimitRuleId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRequirementClaim.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRequirementClaim.cs
deleted file mode 100644
index 4168e78af..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteRequirementClaim.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Security;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteRequirementClaim : Claim
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteRequirementClaim()
- {
-
- }
- public RouteRequirementClaim(Guid routeId, Guid claimId, string key, string value)
- : base(claimId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamHttpMethod.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamHttpMethod.cs
deleted file mode 100644
index 654e3496b..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamHttpMethod.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteUpstreamHttpMethod : HttpMethod
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteUpstreamHttpMethod()
- {
-
- }
-
- public RouteUpstreamHttpMethod(Guid routeId, Guid httpMethodId, string method)
- : base(httpMethodId, method)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamTransformHttpHeader.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamTransformHttpHeader.cs
deleted file mode 100644
index 0c8bf5573..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Routes/RouteUpstreamTransformHttpHeader.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Http;
-using System;
-
-namespace LINGYUN.ApiGateWay.Admin.Routes
-{
- public class RouteUpstreamTransformHttpHeader : HttpHeader
- {
- public virtual Guid RouteId { get; protected set; }
- public virtual Route Route { get; protected set; }
- protected RouteUpstreamTransformHttpHeader()
- {
-
- }
- public RouteUpstreamTransformHttpHeader(Guid routeId, Guid httpHeaderId, string key, string value)
- : base(httpHeaderId, key, value)
- {
- RouteId = routeId;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/Claim.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/Claim.cs
deleted file mode 100644
index e2667027c..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/Claim.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using JetBrains.Annotations;
-using System;
-using Volo.Abp;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Security
-{
- public class Claim : Entity
- {
- public virtual string Key { get; protected set; }
- public virtual string Value { get; protected set; }
- protected Claim()
- {
-
- }
-
- protected Claim(Guid id, [NotNull] string key, [NotNull] string value)
- {
- Id = id;
- Key = Check.NotNullOrWhiteSpace(key, nameof(key));
- Value = Check.NotNullOrWhiteSpace(value, nameof(value));
- }
-
- public override int GetHashCode()
- {
- if (!Key.IsNullOrWhiteSpace() &&
- !Value.IsNullOrWhiteSpace())
- {
- return Key.GetHashCode() & Value.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Key.IsNullOrWhiteSpace() ||
- Value.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is Claim claim)
- {
- return claim.Key.Equals(Key, StringComparison.CurrentCultureIgnoreCase) &&
- claim.Value.Equals(Value, StringComparison.CurrentCultureIgnoreCase);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteClientWhite.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteClientWhite.cs
deleted file mode 100644
index fec50cf4f..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteClientWhite.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Security
-{
- public class RouteClientWhite : Entity
- {
- public virtual string ClientId { get; private set; }
- public virtual Guid RateLimitRuleId { get; private set; }
- public virtual RateLimitRule RateLimitRule { get; private set; }
- public override int GetHashCode()
- {
- if (!ClientId.IsNullOrWhiteSpace())
- {
- return ClientId.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- ClientId.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is RouteClientWhite clientWhite)
- {
- return clientWhite.ClientId.Equals(ClientId);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPBlock.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPBlock.cs
deleted file mode 100644
index 38f2fecae..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPBlock.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Security
-{
- public class RouteIPBlock : Entity
- {
- public virtual string Address { get; private set; }
- public virtual Guid SecurityId { get; private set; }
- public virtual RouteSecurity Security { get; private set; }
- protected RouteIPBlock() { }
- public RouteIPBlock(Guid securityId, string address)
- {
- SecurityId = securityId;
- Address = address;
- }
- public override int GetHashCode()
- {
- if (!Address.IsNullOrWhiteSpace())
- {
- return Address.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null ||
- Address.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is RouteIPBlock iPBlock)
- {
- return iPBlock.Address.Equals(Address);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPWhite.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPWhite.cs
deleted file mode 100644
index 55e0a80d6..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteIPWhite.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Security
-{
- public class RouteIPWhite : Entity
- {
- public virtual string Address { get; private set; }
- public virtual Guid SecurityId { get; private set; }
- public virtual RouteSecurity Security { get; private set; }
-
- protected RouteIPWhite() { }
- public RouteIPWhite(Guid securityId, string address)
- {
- SecurityId = securityId;
- Address = address;
- }
- public override int GetHashCode()
- {
- if (!Address.IsNullOrWhiteSpace())
- {
- return Address.GetHashCode();
- }
- return base.GetHashCode();
- }
-
- public override bool Equals(object obj)
- {
- if(obj == null ||
- Address.IsNullOrWhiteSpace())
- {
- return false;
- }
- if (obj is RouteIPWhite iPWhite)
- {
- return iPWhite.Address.Equals(Address);
- }
- return false;
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteSecurity.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteSecurity.cs
deleted file mode 100644
index 535823329..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateWay.Admin.Domain/LINGYUN/ApiGateWay/Admin/Security/RouteSecurity.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using LINGYUN.ApiGateWay.Admin.Routes;
-using System;
-using System.Collections.Generic;
-using Volo.Abp.Domain.Entities;
-
-namespace LINGYUN.ApiGateWay.Admin.Security
-{
- public class RouteSecurity : Entity
- {
- public virtual ICollection IPAllowedList { get; private set; }
- public virtual ICollection IPBlockedList { get; private set; }
- public virtual Guid RouteId { get; private set; }
- public virtual Route Route { get; private set; }
- protected RouteSecurity()
- {
- IPAllowedList = new List();
- IPBlockedList = new List();
- }
-
- public RouteSecurity(Guid id, Guid routeId) : this()
- {
- Id = id;
- RouteId = routeId;
- }
-
- public void AddIpWhite(string address)
- {
- IPAllowedList.AddIfNotContains(new RouteIPWhite(Id, address));
- }
-
- public void RemoveIpWhite(string address)
- {
- IPAllowedList.RemoveAll(ip => ip.Address.Equals(address));
- }
-
- public void RemoveAllIpWhite()
- {
- IPAllowedList.Clear();
- }
-
- public void AddIpBlock(string address)
- {
- IPBlockedList.AddIfNotContains(new RouteIPBlock(Id, address));
- }
-
- public void RemoveIpBlock(string address)
- {
- IPBlockedList.RemoveAll(ip => ip.Address.Equals(address));
- }
-
- public void RemoveAllIpBlock()
- {
- IPBlockedList.Clear();
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj
index 587d5806c..9fd61c6f3 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/AggregateReRouteDto.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/AggregateReRouteDto.cs
index 816c6b154..5f2d351b6 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/AggregateReRouteDto.cs
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/AggregateReRouteDto.cs
@@ -1,5 +1,4 @@
-using Newtonsoft.Json;
-using System;
+using System;
using System.Collections.Generic;
namespace LINGYUN.ApiGateway.Ocelot
@@ -9,8 +8,7 @@ namespace LINGYUN.ApiGateway.Ocelot
{
public string AppId { get; set; }
- [JsonConverter(typeof(HexLongConverter))]
- public long ReRouteId { get; set; }
+ public string ReRouteId { get; set; }
public string Name { get; set; }
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/DynamicReRouteDto.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/DynamicReRouteDto.cs
index cd025b9c6..ebdb12bf3 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/DynamicReRouteDto.cs
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/DynamicReRouteDto.cs
@@ -1,12 +1,10 @@
-using Newtonsoft.Json;
-using System;
+using System;
namespace LINGYUN.ApiGateway.Ocelot
{
[Serializable]
public class DynamicReRouteDto : DynamicReRouteDtoBase
{
- [JsonConverter(typeof(HexLongConverter))]
- public virtual long DynamicReRouteId { get; set; }
+ public virtual string DynamicReRouteId { get; set; }
}
}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/GlobalConfigurationDto.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/GlobalConfigurationDto.cs
index cb4ccf613..59485d2d8 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/GlobalConfigurationDto.cs
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/GlobalConfigurationDto.cs
@@ -1,13 +1,11 @@
-using Newtonsoft.Json;
-using System;
+using System;
namespace LINGYUN.ApiGateway.Ocelot
{
[Serializable]
public class GlobalConfigurationDto : GlobalConfigurationDtoBase
{
- [JsonConverter(typeof(HexLongConverter))]
- public long ItemId { get; set; }
+ public string ItemId { get; set; }
public string AppId { get; set; }
public GlobalConfigurationDto()
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/ReRouteDto.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/ReRouteDto.cs
index 822f173c2..9079761d6 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/ReRouteDto.cs
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/Result/ReRouteDto.cs
@@ -1,5 +1,4 @@
-using Newtonsoft.Json;
-using System;
+using System;
namespace LINGYUN.ApiGateway.Ocelot
{
@@ -7,9 +6,7 @@ namespace LINGYUN.ApiGateway.Ocelot
public class ReRouteDto : ReRouteDtoBase
{
public int Id { get; set; }
-
- [JsonConverter(typeof(HexLongConverter))]
- public long ReRouteId { get; set; }
+ public string ReRouteId { get; set; }
public string ConcurrencyStamp { get; set; }
public string ReRouteName { get; set; }
public string AppId { get; set; }
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj
index 494902122..d4425d1dd 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj
index eb07e0bcb..caf28380e 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/Newtonsoft/Json/HexLongConverter.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/Newtonsoft/Json/HexLongConverter.cs
deleted file mode 100644
index e28c43cda..000000000
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/Newtonsoft/Json/HexLongConverter.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-
-namespace Newtonsoft.Json
-{
- public class HexLongConverter : JsonConverter
- {
- public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
- {
- long v = value is ulong ? (long)(ulong)value : (long)value;
- writer.WriteValue(v.ToString());
- }
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
- {
- string value = reader.Value as string;
- long lValue = long.Parse(value);
- return typeof(ulong) == objectType ? (object)(ulong)lValue : lValue;
- }
- public override bool CanConvert(Type objectType)
- {
- switch (objectType.FullName)
- {
- case "System.Int64":
- case "System.UInt64":
- return true;
- default:
- return false;
- }
- }
- }
-}
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj
index 97370b034..68875e6f7 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj
index 7267f9dda..faad44954 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj
@@ -1,14 +1,14 @@
-
+
- netstandard2.0
+ netstandard2.1
-
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj
index 3ed2c40ab..01c7eff04 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj
index 52b9d8688..c69b969ce 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN/ApiGateway/Ocelot/GlobalConfigurationController.cs b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN/ApiGateway/Ocelot/GlobalConfigurationController.cs
index c6ae0ddbf..4f86b2ed1 100644
--- a/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN/ApiGateway/Ocelot/GlobalConfigurationController.cs
+++ b/aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN/ApiGateway/Ocelot/GlobalConfigurationController.cs
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Clients;
namespace LINGYUN.ApiGateway.Ocelot
{
@@ -26,6 +27,8 @@ namespace LINGYUN.ApiGateway.Ocelot
[Route("By-AppId/{AppId}")]
public async Task GetAsync(GlobalGetByAppIdInputDto input)
{
+ ICurrentClient client = null;
+ var currentClient = LazyGetRequiredService(ref client);
return await GlobalConfigurationAppService.GetAsync(input);
}
diff --git a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj
index 6dadbf1ae..9d6502749 100644
--- a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj
+++ b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj
@@ -13,11 +13,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj
index 4421849f8..3ffbd3049 100644
--- a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj
+++ b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj
index 000ee369b..94e70ec14 100644
--- a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj
+++ b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj b/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj
index 41a5c695f..5d2cbd277 100644
--- a/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj
+++ b/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj
@@ -21,9 +21,9 @@
-
-
-
+
+
+
diff --git a/aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj b/aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj
index 39e6c005c..025f5ee9f 100644
--- a/aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj
+++ b/aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj
@@ -19,9 +19,9 @@
-
-
-
+
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj
index e81f4130b..7a6571adc 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj b/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj
index e30079e1e..762b185fd 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj
@@ -1,15 +1,15 @@
-
+
- netcoreapp3.1
+ net5.0
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj b/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj
index 42a4015e3..a06804ba1 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj b/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj
index 95aae0a6d..37543e2f7 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs/LINGYUN.Abp.BackgroundJobs.csproj b/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs/LINGYUN.Abp.BackgroundJobs.csproj
index 28bbeeb88..5ff11a7c5 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs/LINGYUN.Abp.BackgroundJobs.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs/LINGYUN.Abp.BackgroundJobs.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj b/aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj
index fa6958408..57986325a 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj b/aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj
index 55649492f..95bc73267 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj
@@ -9,10 +9,10 @@
-
-
+
+
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj b/aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj
index 033060116..f4334065d 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj
@@ -11,9 +11,9 @@
-
-
-
+
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj
index 24e3a55dc..efa8c1a3a 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj
@@ -22,7 +22,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj
index 11304ba1d..6d85dadf6 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj
index 3b5ab8e3d..2aa80afba 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj
index 4ba653624..723c41953 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj
@@ -9,9 +9,9 @@
-
+
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj
index 66ab7ed96..c51b73d5f 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj
index 2bdd74089..c0b0ad31d 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj
@@ -1,4 +1,4 @@
-
+
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN/Abp/Hangfire/Storage/MySql/AbpHangfireMySqlStorageModule.cs b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN/Abp/Hangfire/Storage/MySql/AbpHangfireMySqlStorageModule.cs
index f7a056012..e6cc4da13 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN/Abp/Hangfire/Storage/MySql/AbpHangfireMySqlStorageModule.cs
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN/Abp/Hangfire/Storage/MySql/AbpHangfireMySqlStorageModule.cs
@@ -1,7 +1,8 @@
using Hangfire;
-using Hangfire.MySql.Core;
+using Hangfire.MySql;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp;
using Volo.Abp.Hangfire;
using Volo.Abp.Modularity;
@@ -34,5 +35,10 @@ namespace LINGYUN.Abp.Hangfire.Storage.MySql
config.UseStorage(_jobStorage);
});
}
+
+ public override void OnApplicationShutdown(ApplicationShutdownContext context)
+ {
+ _jobStorage?.Dispose();
+ }
}
}
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj
index 1d436d159..91a197239 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj b/aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj
index 676d66357..dc3e63f12 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj
@@ -3,13 +3,13 @@
- netcoreapp3.1
+ net5.0
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj b/aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj
index 9f5c6051b..007550af9 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj
index 5ab1c3110..9ebb9f8bf 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj
@@ -19,10 +19,10 @@
-
-
-
-
+
+
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj
index d8d6835e4..73542ea7d 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj
@@ -19,10 +19,10 @@
-
-
-
-
+
+
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj
index 58380425b..8bff694d0 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj
index ba845b624..b96845a73 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj
@@ -3,13 +3,13 @@
- netcoreapp3.1
+ net5.0
-
-
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj
index 7ec06c74a..e5b154386 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj
index 2cc80b3c6..0908a7071 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj b/aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj
index 6acd58a00..ae8a0c3bc 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj b/aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj
index e81f4130b..7a6571adc 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Rules/LINGYUN.Abp.Rules.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Rules/LINGYUN.Abp.Rules.csproj
index 5e76ffadb..e65ba5ad4 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Rules/LINGYUN.Abp.Rules.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Rules/LINGYUN.Abp.Rules.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj
index 79bf2fca4..3a7814355 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj b/aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj
index 31504daf5..1feccd899 100644
--- a/aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj
+++ b/aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj
@@ -20,9 +20,9 @@
-
-
-
+
+
+
diff --git a/aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj b/aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj
index ec41a5f5f..333486ec9 100644
--- a/aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj
+++ b/aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj b/aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj
index e1fdc9871..923421134 100644
--- a/aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj
+++ b/aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj
index a6204eed5..750671ed2 100644
--- a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj
+++ b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj
index 034707f30..d351dd5f5 100644
--- a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj
+++ b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj
index 29260b76d..38baeb1b5 100644
--- a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj
+++ b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj
index 726583689..3478614b1 100644
--- a/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj
+++ b/aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj
index cb8da47c5..2eca9cc26 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj
index 92b8149ef..b2115a5cc 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj
index bed1350ca..b6c3e8197 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj
index 42a7d33a4..c1cb7b7a8 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj
index c0e43f0c3..df8db6fa0 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj
@@ -3,12 +3,12 @@
- netstandard2.0
+ netstandard2.1
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj
index b02fc95d8..0bbe4c93d 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj
index 413521dc2..4b5ee5211 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj b/aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj
index 25fd67c09..f01e5e817 100644
--- a/aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj
+++ b/aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj
index 26ae280fc..aa447b014 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj
@@ -1,9 +1,9 @@
-
+
- netcoreapp3.1
+ net5.0
@@ -18,8 +18,9 @@
-
-
+
+
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationContractsModule.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationContractsModule.cs
index ad437cbce..d4fa229be 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationContractsModule.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationContractsModule.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Application;
+using Volo.Abp.Authorization;
using Volo.Abp.IdentityServer;
using Volo.Abp.IdentityServer.Localization;
using Volo.Abp.Localization;
@@ -7,8 +8,10 @@ using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.IdentityServer
{
- [DependsOn(new[] { typeof(AbpDddApplicationModule) })]
- [DependsOn(new[] { typeof(AbpIdentityServerDomainSharedModule) })]
+ [DependsOn(
+ typeof(AbpAuthorizationModule),
+ typeof(AbpDddApplicationContractsModule),
+ typeof(AbpIdentityServerDomainSharedModule))]
public class AbpIdentityServerApplicationContractsModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerErrorConsts.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerErrorConsts.cs
index d766260f1..6c107be83 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerErrorConsts.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerErrorConsts.cs
@@ -12,6 +12,11 @@
///
public const string ApiResourceNameExisted = "ApiResourceNameExisted";
+ ///
+ /// Api范围已经存在
+ ///
+ public const string ApiScopeNameExisted = "ApiScopeNameExisted";
+
///
/// 身份资源已经存在
///
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissionDefinitionProvider.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissionDefinitionProvider.cs
index 8466f840c..a179d35f1 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissionDefinitionProvider.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissionDefinitionProvider.cs
@@ -41,8 +41,16 @@ namespace LINGYUN.Abp.IdentityServer
apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.Delete, L("Permissions:Delete"), MultiTenancySides.Host);
apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.ManageClaims, L("Permissions:ManageClaims"), MultiTenancySides.Host);
apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.ManageSecrets, L("Permissions:ManageSecrets"), MultiTenancySides.Host);
- apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.ManageProperties, L("Permissions:ManageProperties"), MultiTenancySides.Host);
apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.ManageScopes, L("Permissions:ManageScopes"), MultiTenancySides.Host);
+ apiResourcePermissions.AddChild(AbpIdentityServerPermissions.ApiResources.ManageProperties, L("Permissions:ManageProperties"), MultiTenancySides.Host);
+
+ // Api范围权限
+ var apiScopePermissions = identityServerGroup.AddPermission(AbpIdentityServerPermissions.ApiScopes.Default, L("Permissions:ApiScopes"), MultiTenancySides.Host);
+ apiScopePermissions.AddChild(AbpIdentityServerPermissions.ApiScopes.Create, L("Permissions:Create"), MultiTenancySides.Host);
+ apiScopePermissions.AddChild(AbpIdentityServerPermissions.ApiScopes.Update, L("Permissions:Update"), MultiTenancySides.Host);
+ apiScopePermissions.AddChild(AbpIdentityServerPermissions.ApiScopes.Delete, L("Permissions:Delete"), MultiTenancySides.Host);
+ apiScopePermissions.AddChild(AbpIdentityServerPermissions.ApiScopes.ManageClaims, L("Permissions:ManageClaims"), MultiTenancySides.Host);
+ apiScopePermissions.AddChild(AbpIdentityServerPermissions.ApiScopes.ManageProperties, L("Permissions:ManageProperties"), MultiTenancySides.Host);
// 身份资源权限
var identityResourcePermissions = identityServerGroup.AddPermission(AbpIdentityServerPermissions.IdentityResources.Default, L("Permissions:IdentityResources"), MultiTenancySides.Host);
@@ -51,6 +59,10 @@ namespace LINGYUN.Abp.IdentityServer
identityResourcePermissions.AddChild(AbpIdentityServerPermissions.IdentityResources.Delete, L("Permissions:Delete"), MultiTenancySides.Host);
identityResourcePermissions.AddChild(AbpIdentityServerPermissions.IdentityResources.ManageClaims, L("Permissions:ManageClaims"), MultiTenancySides.Host);
identityResourcePermissions.AddChild(AbpIdentityServerPermissions.IdentityResources.ManageProperties, L("Permissions:ManageProperties"), MultiTenancySides.Host);
+
+ // 持久授权
+ var persistedGrantPermissions = identityServerGroup.AddPermission(AbpIdentityServerPermissions.Grants.Default, L("Permissions:Grants"), MultiTenancySides.Host);
+ persistedGrantPermissions.AddChild(AbpIdentityServerPermissions.Grants.Delete, L("Permissions:Delete"), MultiTenancySides.Host);
}
protected virtual LocalizableString L(string name)
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissions.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissions.cs
index 8e8a5e284..a8a677af4 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissions.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/AbpIdentityServerPermissions.cs
@@ -23,9 +23,19 @@
public const string Create = Default + ".Create";
public const string Update = Default + ".Update";
public const string Delete = Default + ".Delete";
- public const string ManageScopes = Default + ".ManageScopes";
public const string ManageClaims = Default + ".ManageClaims";
public const string ManageSecrets = Default + ".ManageSecrets";
+ public const string ManageScopes = Default + ".ManageScopes";
+ public const string ManageProperties = Default + ".ManageProperties";
+ }
+
+ public static class ApiScopes
+ {
+ public const string Default = GroupName + ".ApiScopes";
+ public const string Create = Default + ".Create";
+ public const string Update = Default + ".Update";
+ public const string Delete = Default + ".Delete";
+ public const string ManageClaims = Default + ".ManageClaims";
public const string ManageProperties = Default + ".ManageProperties";
}
@@ -38,5 +48,11 @@
public const string ManageClaims = Default + ".ManageClaims";
public const string ManageProperties = Default + ".ManageProperties";
}
+
+ public static class Grants
+ {
+ public const string Default = GroupName + ".Grants";
+ public const string Delete = Default + ".Delete";
+ }
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceClaimDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceClaimDto.cs
new file mode 100644
index 000000000..551333d0e
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceClaimDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.ApiResources
+{
+ public class ApiResourceClaimDto : UserClaimDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateDto.cs
index 07350361d..419a0fc92 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateDto.cs
@@ -1,12 +1,13 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
public class ApiResourceCreateDto : ApiResourceCreateOrUpdateDto
{
[Required]
- [StringLength(ApiResourceConsts.NameMaxLength)]
+ [DynamicStringLength(typeof(ApiResourceConsts), nameof(ApiResourceConsts.NameMaxLength))]
public string Name { get; set; }
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateOrUpdateDto.cs
index d2a98b567..5aee330c1 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateOrUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceCreateOrUpdateDto.cs
@@ -1,33 +1,37 @@
using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
public class ApiResourceCreateOrUpdateDto
{
- [StringLength(ApiResourceConsts.DisplayNameMaxLength)]
+ [DynamicStringLength(typeof(ApiResourceConsts), nameof(ApiResourceConsts.DisplayNameMaxLength))]
public string DisplayName { get; set; }
- [StringLength(ApiResourceConsts.DescriptionMaxLength)]
+ [DynamicStringLength(typeof(ApiResourceConsts), nameof(ApiResourceConsts.DescriptionMaxLength))]
public string Description { get; set; }
public bool Enabled { get; set; }
- public List UserClaims { get; set; }
+ public string AllowedAccessTokenSigningAlgorithms { get; set; }
- public List Scopes { get; set; }
+ public bool ShowInDiscoveryDocument { get; set; }
- public List Secrets { get; set; }
+ public List Secrets { get; set; }
- public Dictionary Properties { get; set; }
+ public List Scopes { get; set; }
+
+ public List UserClaims { get; set; }
+
+ public List Properties { get; set; }
protected ApiResourceCreateOrUpdateDto()
{
- UserClaims = new List();
- Scopes = new List();
- Secrets = new List();
- Properties = new Dictionary();
+ UserClaims = new List();
+ Scopes = new List();
+ Secrets = new List();
+ Properties = new List();
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceDto.cs
index 71d4e6335..806cd6ff1 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceDto.cs
@@ -4,7 +4,7 @@ using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
- public class ApiResourceDto : ExtensibleFullAuditedEntityDto
+ public class ApiResourceDto : ExtensibleAuditedEntityDto
{
public string Name { get; set; }
@@ -14,20 +14,24 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
public bool Enabled { get; set; }
- public List Secrets { get; set; }
+ public string AllowedAccessTokenSigningAlgorithms { get; set; }
- public List Scopes { get; set; }
+ public bool ShowInDiscoveryDocument { get; set; }
- public List UserClaims { get; set; }
+ public List Secrets { get; set; }
- public Dictionary Properties { get; set; }
+ public List Scopes { get; set; }
+
+ public List UserClaims { get; set; }
+
+ public List Properties { get; set; }
public ApiResourceDto()
{
- UserClaims = new List();
- Scopes = new List();
- Secrets = new List();
- Properties = new Dictionary();
+ UserClaims = new List();
+ Scopes = new List();
+ Secrets = new List();
+ Properties = new List();
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourcePropertyDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourcePropertyDto.cs
new file mode 100644
index 000000000..0df343528
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourcePropertyDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.ApiResources
+{
+ public class ApiResourcePropertyDto : PropertyDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeCreateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeCreateDto.cs
similarity index 59%
rename from aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeCreateDto.cs
rename to aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeCreateDto.cs
index 831cbdec1..03e617120 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeCreateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeCreateDto.cs
@@ -1,23 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.IdentityServer.ApiScopes;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
- public class ApiScopeCreateDto
+ public class ApiResourceScopeCreateDto
{
[Required]
public Guid ApiResourceId { get; set; }
[Required]
- [StringLength(ApiScopeConsts.NameMaxLength)]
+ [DynamicStringLength(typeof(ApiScopeConsts), nameof(ApiScopeConsts.NameMaxLength))]
public string Name { get; set; }
- [StringLength(ApiScopeConsts.DisplayNameMaxLength)]
+ [DynamicStringLength(typeof(ApiScopeConsts), nameof(ApiScopeConsts.DisplayNameMaxLength))]
public string DisplayName { get; set; }
- [StringLength(ApiScopeConsts.DescriptionMaxLength)]
+ [DynamicStringLength(typeof(ApiScopeConsts), nameof(ApiScopeConsts.DescriptionMaxLength))]
public string Description { get; set; }
public bool Required { get; set; }
@@ -28,7 +29,7 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
public List UserClaims { get; set; }
- public ApiScopeCreateDto()
+ public ApiResourceScopeCreateDto()
{
UserClaims = new List();
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeDto.cs
new file mode 100644
index 000000000..23438c1b1
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceScopeDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.ApiResources
+{
+ public class ApiResourceScopeDto
+ {
+ public string Scope { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretCreateOrUpdateDto.cs
similarity index 64%
rename from aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretCreateOrUpdateDto.cs
rename to aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretCreateOrUpdateDto.cs
index fc8e21ac6..f4bd29504 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretCreateOrUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretCreateOrUpdateDto.cs
@@ -1,6 +1,6 @@
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
- public class ApiSecretCreateOrUpdateDto : SecretBaseDto
+ public class ApiResourceSecretCreateOrUpdateDto : SecretDto
{
public HashType HashType { get; set; }
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretDto.cs
similarity index 57%
rename from aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretDto.cs
rename to aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretDto.cs
index 86293223a..f0abcf862 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiSecretDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiResourceSecretDto.cs
@@ -1,6 +1,6 @@
namespace LINGYUN.Abp.IdentityServer.ApiResources
{
- public class ApiSecretDto : SecretBaseDto
+ public class ApiResourceSecretDto : SecretDto
{
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeDto.cs
deleted file mode 100644
index b38b638a7..000000000
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiResources/Dto/ApiScopeDto.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-
-namespace LINGYUN.Abp.IdentityServer.ApiResources
-{
- public class ApiScopeDto
- {
- public string Name { get; set; }
-
- public string DisplayName { get; set; }
-
- public string Description { get; set; }
-
- public bool Required { get; set; }
-
- public bool Emphasize { get; set; }
-
- public bool ShowInDiscoveryDocument { get; set; }
-
- public List UserClaims { get; set; }
-
- public ApiScopeDto()
- {
- UserClaims = new List();
- }
- }
-}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeClaimDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeClaimDto.cs
new file mode 100644
index 000000000..40856b369
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeClaimDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopeClaimDto : UserClaimDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateDto.cs
new file mode 100644
index 000000000..eede72554
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopeCreateDto : ApiScopeCreateOrUpdateDto
+ {
+ public string Name { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateOrUpdateDto.cs
new file mode 100644
index 000000000..bd0945d03
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeCreateOrUpdateDto.cs
@@ -0,0 +1,29 @@
+using System.Collections.Generic;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopeCreateOrUpdateDto
+ {
+ public bool Enabled { get; set; }
+
+ public string DisplayName { get; set; }
+
+ public string Description { get; set; }
+
+ public bool Required { get; set; }
+
+ public bool Emphasize { get; set; }
+
+ public bool ShowInDiscoveryDocument { get; set; }
+
+ public List UserClaims { get; set; }
+
+ public List Properties { get; set; }
+
+ public ApiScopeCreateOrUpdateDto()
+ {
+ UserClaims = new List();
+ Properties = new List();
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeDto.cs
new file mode 100644
index 000000000..8dcac419e
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeDto.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using Volo.Abp.Application.Dtos;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopeDto : ExtensibleAuditedEntityDto
+ {
+ public bool Enabled { get; set; }
+
+ public string Name { get; set; }
+
+ public string DisplayName { get; set; }
+
+ public string Description { get; set; }
+
+ public bool Required { get; set; }
+
+ public bool Emphasize { get; set; }
+
+ public bool ShowInDiscoveryDocument { get; set; }
+
+ public List UserClaims { get; set; }
+
+ public List Properties { get; set; }
+
+ public ApiScopeDto()
+ {
+ UserClaims = new List();
+ Properties = new List();
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopePropertyDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopePropertyDto.cs
new file mode 100644
index 000000000..ace198500
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopePropertyDto.cs
@@ -0,0 +1,12 @@
+using System;
+using Volo.Abp.Application.Dtos;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopePropertyDto : EntityDto
+ {
+ public string Key { get; set; }
+
+ public string Value { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeUpdateDto.cs
new file mode 100644
index 000000000..837f117c3
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/ApiScopeUpdateDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class ApiScopeUpdateDto : ApiScopeCreateOrUpdateDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/GetApiScopeInput.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/GetApiScopeInput.cs
new file mode 100644
index 000000000..68e7ead07
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/Dto/GetApiScopeInput.cs
@@ -0,0 +1,9 @@
+using Volo.Abp.Application.Dtos;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public class GetApiScopeInput : PagedAndSortedResultRequestDto
+ {
+ public string Filter { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeAppService.cs
new file mode 100644
index 000000000..03bdd02e2
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeAppService.cs
@@ -0,0 +1,15 @@
+using System;
+using Volo.Abp.Application.Services;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public interface IApiScopeAppService :
+ ICrudAppService<
+ ApiScopeDto,
+ Guid,
+ GetApiScopeInput,
+ ApiScopeCreateDto,
+ ApiScopeUpdateDto>
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCloneDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCloneDto.cs
index 9139018cb..d152779e3 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCloneDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCloneDto.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.IdentityServer.Clients;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.Clients
{
@@ -9,18 +10,18 @@ namespace LINGYUN.Abp.IdentityServer.Clients
/// 客户端标识
///
[Required]
- [StringLength(ClientConsts.ClientIdMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientIdMaxLength))]
public string ClientId { get; set; }
///
/// 客户端名称
///
[Required]
- [StringLength(ClientConsts.ClientNameMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientNameMaxLength))]
public string ClientName { get; set; }
///
/// 说明
///
- [StringLength(ClientConsts.DescriptionMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.DescriptionMaxLength))]
public string Description { get; set; }
///
/// 复制客户端授权类型
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCorsOriginDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCorsOriginDto.cs
new file mode 100644
index 000000000..68e485d0a
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCorsOriginDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientCorsOriginDto
+ {
+ public string Origin { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCreateOrUpdateDto.cs
index 009faf9a5..6526e8bfb 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCreateOrUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientCreateOrUpdateDto.cs
@@ -1,27 +1,28 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.IdentityServer.Clients;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.Clients
{
public class ClientCreateOrUpdateDto
{
[Required]
- [StringLength(ClientConsts.ClientIdMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientIdMaxLength))]
public string ClientId { get; set; }
[Required]
- [StringLength(ClientConsts.ClientNameMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientNameMaxLength))]
public string ClientName { get; set; }
- [StringLength(ClientConsts.DescriptionMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.DescriptionMaxLength))]
public string Description { get; set; }
- public List AllowedGrantTypes { get; set; }
+ public List AllowedGrantTypes { get; set; }
protected ClientCreateOrUpdateDto()
{
- AllowedGrantTypes = new List();
+ AllowedGrantTypes = new List();
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientDto.cs
index 0e9e3bedc..ea418b33e 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientDto.cs
@@ -26,6 +26,10 @@ namespace LINGYUN.Abp.IdentityServer.Clients
public bool AllowRememberConsent { get; set; }
+ public bool RequireRequestObject { get; set; }
+
+ public string AllowedIdentityTokenSigningAlgorithms { get; set; }
+
public bool AlwaysIncludeUserClaimsInIdToken { get; set; }
public bool RequirePkce { get; set; }
@@ -82,34 +86,34 @@ namespace LINGYUN.Abp.IdentityServer.Clients
public string ConcurrencyStamp { get; set; }
- public List AllowedScopes { get; set; }
+ public List AllowedScopes { get; set; }
public List ClientSecrets { get; set; }
- public List AllowedGrantTypes { get; set; }
+ public List AllowedGrantTypes { get; set; }
- public List AllowedCorsOrigins { get; set; }
+ public List AllowedCorsOrigins { get; set; }
- public List RedirectUris { get; set; }
+ public List RedirectUris { get; set; }
- public List PostLogoutRedirectUris { get; set; }
+ public List PostLogoutRedirectUris { get; set; }
- public List IdentityProviderRestrictions { get; set; }
+ public List IdentityProviderRestrictions { get; set; }
public List Claims { get; set; }
- public Dictionary Properties { get; set; }
+ public List Properties { get; set; }
public ClientDto()
{
Claims = new List();
- Properties = new Dictionary();
- AllowedScopes = new List();
+ Properties = new List();
+ AllowedScopes = new List();
ClientSecrets = new List();
- RedirectUris = new List();
- AllowedGrantTypes = new List();
- AllowedCorsOrigins = new List();
- PostLogoutRedirectUris = new List();
- IdentityProviderRestrictions = new List();
+ RedirectUris = new List();
+ AllowedGrantTypes = new List();
+ AllowedCorsOrigins = new List();
+ PostLogoutRedirectUris = new List();
+ IdentityProviderRestrictions = new List();
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientGrantTypeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientGrantTypeDto.cs
new file mode 100644
index 000000000..23184cf93
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientGrantTypeDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientGrantTypeDto
+ {
+ public string GrantType { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientIdPRestrictionDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientIdPRestrictionDto.cs
new file mode 100644
index 000000000..195c6a670
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientIdPRestrictionDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientIdPRestrictionDto
+ {
+ public string Provider { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPostLogoutRedirectUriDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPostLogoutRedirectUriDto.cs
new file mode 100644
index 000000000..dac89dc0a
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPostLogoutRedirectUriDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientPostLogoutRedirectUriDto
+ {
+ public string PostLogoutRedirectUri { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPropertyDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPropertyDto.cs
new file mode 100644
index 000000000..5b7a44ba8
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientPropertyDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientPropertyDto : PropertyDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientRedirectUriDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientRedirectUriDto.cs
new file mode 100644
index 000000000..12e669182
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientRedirectUriDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientRedirectUriDto
+ {
+ public string RedirectUri { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientScopeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientScopeDto.cs
new file mode 100644
index 000000000..f5d54f170
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientScopeDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.Clients
+{
+ public class ClientScopeDto : ScopeDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientSecretDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientSecretDto.cs
index c32612b87..c43de47ea 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientSecretDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientSecretDto.cs
@@ -1,6 +1,6 @@
namespace LINGYUN.Abp.IdentityServer.Clients
{
- public class ClientSecretDto : SecretBaseDto
+ public class ClientSecretDto : SecretDto
{
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientUpdateDto.cs
index dad7d749c..0f0523a86 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/ClientUpdateDto.cs
@@ -1,43 +1,48 @@
using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
using Volo.Abp.IdentityServer.Clients;
+using Volo.Abp.Validation;
namespace LINGYUN.Abp.IdentityServer.Clients
{
public class ClientUpdateDto : ClientCreateOrUpdateDto
{
- [StringLength(ClientConsts.ClientUriMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientUriMaxLength))]
public string ClientUri { get; set; }
- [StringLength(ClientConsts.LogoUriMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.LogoUriMaxLength))]
public string LogoUri { get; set; }
public bool Enabled { get; set; }
- [StringLength(ClientConsts.ProtocolTypeMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ProtocolTypeMaxLength))]
public string ProtocolType { get; set; }
public bool RequireClientSecret { get; set; }
- public bool RequireConsent { get; set; }
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.AllowedIdentityTokenSigningAlgorithms))]
+ public string AllowedIdentityTokenSigningAlgorithms { get; set; }
+
+ public bool RequireConsent { get; set; } = false;
+
+ public bool RequireRequestObject { get; set; }
public bool AllowRememberConsent { get; set; }
public bool AlwaysIncludeUserClaimsInIdToken { get; set; }
- public bool RequirePkce { get; set; }
+ public bool RequirePkce { get; set; } = true;
public bool AllowPlainTextPkce { get; set; }
public bool AllowAccessTokensViaBrowser { get; set; }
- [StringLength(ClientConsts.FrontChannelLogoutUriMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.FrontChannelLogoutUriMaxLength))]
public string FrontChannelLogoutUri { get; set; }
public bool FrontChannelLogoutSessionRequired { get; set; }
- [StringLength(ClientConsts.BackChannelLogoutUriMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.BackChannelLogoutUriMaxLength))]
public string BackChannelLogoutUri { get; set; }
public bool BackChannelLogoutSessionRequired { get; set; }
@@ -70,46 +75,32 @@ namespace LINGYUN.Abp.IdentityServer.Clients
public bool AlwaysSendClientClaims { get; set; }
- [StringLength(ClientConsts.ClientClaimsPrefixMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.ClientClaimsPrefixMaxLength))]
public string ClientClaimsPrefix { get; set; }
- [StringLength(ClientConsts.PairWiseSubjectSaltMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.PairWiseSubjectSaltMaxLength))]
public string PairWiseSubjectSalt { get; set; }
public int? UserSsoLifetime { get; set; }
- [StringLength(ClientConsts.UserCodeTypeMaxLength)]
+ [DynamicStringLength(typeof(ClientConsts), nameof(ClientConsts.UserCodeTypeMaxLength))]
public string UserCodeType { get; set; }
public int DeviceCodeLifetime { get; set; }
- ///
- /// 允许的作用域
- ///
- public List AllowedScopes { get; set; }
- ///
- /// 允许同源
- ///
- public List AllowedCorsOrigins { get; set; }
- ///
- /// 重定向uri
- ///
- public List RedirectUris { get; set; }
- ///
- /// 登出重定向uri
- ///
- public List PostLogoutRedirectUris { get; set; }
- ///
- /// 限制提供商
- ///
- public List IdentityProviderRestrictions { get; set; }
- ///
- /// 属性
- ///
- public Dictionary Properties { get; set; }
- ///
- /// 密钥
- ///
- public List Secrets { get; set; }
+
+ public List AllowedScopes { get; set; }
+
+ public List ClientSecrets { get; set; }
+
+ public List AllowedCorsOrigins { get; set; }
+
+ public List RedirectUris { get; set; }
+
+ public List PostLogoutRedirectUris { get; set; }
+
+ public List IdentityProviderRestrictions { get; set; }
+
+ public List Properties { get; set; }
///
/// 声明
///
@@ -119,13 +110,13 @@ namespace LINGYUN.Abp.IdentityServer.Clients
{
Enabled = true;
DeviceCodeLifetime = 300;
- AllowedScopes = new List();
- RedirectUris = new List();
- AllowedCorsOrigins = new List();
- PostLogoutRedirectUris = new List();
- IdentityProviderRestrictions = new List();
- Properties = new Dictionary();
- Secrets = new List();
+ AllowedScopes = new List();
+ RedirectUris = new List();
+ AllowedCorsOrigins = new List();
+ PostLogoutRedirectUris = new List();
+ IdentityProviderRestrictions = new List();
+ Properties = new List();
+ ClientSecrets = new List();
Claims = new List();
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/SecretCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/SecretCreateOrUpdateDto.cs
index 13d7dee25..3afda584f 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/SecretCreateOrUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Clients/Dto/SecretCreateOrUpdateDto.cs
@@ -1,6 +1,6 @@
namespace LINGYUN.Abp.IdentityServer.Clients
{
- public class SecretCreateOrUpdateDto : SecretBaseDto
+ public class SecretCreateOrUpdateDto : SecretDto
{
public HashType HashType { get; set; }
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Devices/Dto/DeviceFlowCodesDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Devices/Dto/DeviceFlowCodesDto.cs
new file mode 100644
index 000000000..b62f2ef46
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Devices/Dto/DeviceFlowCodesDto.cs
@@ -0,0 +1,24 @@
+using System;
+using Volo.Abp.Application.Dtos;
+
+namespace LINGYUN.Abp.IdentityServer.Devices
+{
+ public class DeviceFlowCodesDto : ExtensibleCreationAuditedEntityDto
+ {
+ public string DeviceCode { get; set; }
+
+ public string UserCode { get; set; }
+
+ public string SubjectId { get; set; }
+
+ public string SessionId { get; set; }
+
+ public string ClientId { get; set; }
+
+ public string Description { get; set; }
+
+ public DateTime? Expiration { get; set; }
+
+ public string Data { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantGetPagedDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/GetPersistedGrantInput.cs
similarity index 70%
rename from aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantGetPagedDto.cs
rename to aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/GetPersistedGrantInput.cs
index d5117306b..a473f9770 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantGetPagedDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/GetPersistedGrantInput.cs
@@ -2,7 +2,7 @@
namespace LINGYUN.Abp.IdentityServer.Grants
{
- public class PersistedGrantGetPagedDto : PagedAndSortedResultRequestDto
+ public class GetPersistedGrantInput : PagedAndSortedResultRequestDto
{
public string Filter { get; set; }
public string SubjectId { get; set; }
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantDto.cs
index 8d1382e41..9b1352044 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/Dto/PersistedGrantDto.cs
@@ -11,6 +11,12 @@ namespace LINGYUN.Abp.IdentityServer.Grants
public string SubjectId { get; set; }
+ public string SessionId { get; set; }
+
+ public string Description { get; set; }
+
+ public DateTime? ConsumedTime { get; set; }
+
public string ClientId { get; set; }
public DateTime CreationTime { get; set; }
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/IPersistedGrantAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/IPersistedGrantAppService.cs
new file mode 100644
index 000000000..6343f9f61
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Grants/IPersistedGrantAppService.cs
@@ -0,0 +1,12 @@
+using System;
+using Volo.Abp.Application.Services;
+
+namespace LINGYUN.Abp.IdentityServer.Grants
+{
+ public interface IPersistedGrantAppService :
+ IReadOnlyAppService,
+ IDeleteAppService
+ {
+
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceClaimDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceClaimDto.cs
new file mode 100644
index 000000000..1f37d1b91
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceClaimDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.IdentityResources
+{
+ public class IdentityResourceClaimDto : UserClaimDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceCreateOrUpdateDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceCreateOrUpdateDto.cs
index a517e3eed..a53c7840b 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceCreateOrUpdateDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceCreateOrUpdateDto.cs
@@ -25,14 +25,14 @@ namespace LINGYUN.Abp.IdentityServer.IdentityResources
public bool ShowInDiscoveryDocument { get; set; }
- public List UserClaims { get; set; }
+ public List UserClaims { get; set; }
- public Dictionary Properties { get; set; }
+ public List Properties { get; set; }
public IdentityResourceCreateOrUpdateDto()
{
- UserClaims = new List();
- Properties = new Dictionary();
+ UserClaims = new List();
+ Properties = new List();
Enabled = true;
Required = false;
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceDto.cs
index 49649a370..9b079e262 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourceDto.cs
@@ -4,7 +4,7 @@ using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.IdentityServer.IdentityResources
{
- public class IdentityResourceDto : ExtensibleFullAuditedEntityDto
+ public class IdentityResourceDto : ExtensibleAuditedEntityDto
{
public string Name { get; set; }
@@ -20,14 +20,14 @@ namespace LINGYUN.Abp.IdentityServer.IdentityResources
public bool ShowInDiscoveryDocument { get; set; }
- public List UserClaims { get; set; }
+ public List UserClaims { get; set; }
- public Dictionary Properties { get; set; }
+ public List Properties { get; set; }
public IdentityResourceDto()
{
- UserClaims = new List();
- Properties = new Dictionary();
+ UserClaims = new List();
+ Properties = new List();
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourcePropertyDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourcePropertyDto.cs
new file mode 100644
index 000000000..142610026
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/IdentityResources/Dto/IdentityResourcePropertyDto.cs
@@ -0,0 +1,6 @@
+namespace LINGYUN.Abp.IdentityServer.IdentityResources
+{
+ public class IdentityResourcePropertyDto : PropertyDto
+ {
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/en.json b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/en.json
index 5a7f49b35..5b2d76ec8 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/en.json
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/en.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "en",
"texts": {
"Permissions:IdentityServer": "IdentityServer",
@@ -12,10 +12,12 @@
"Permissions:ManageProperties": "Properties",
"Permissions:ManagePermissions": "Permissions",
"Permissions:Clients": "Clients",
- "Permissions:ApiResources": "ApiResources",
- "Permissions:IdentityResources": "IdentityResources",
+ "Permissions:ApiResources": "Api Resources",
+ "Permissions:ApiScopes": "Api Scopes",
+ "Permissions:IdentityResources": "Identity Resources",
"ClientIdExisted": "Client id: {0} already exists!",
"ApiResourceNameExisted": "Api resource name: {0} already exists!",
+ "ApiScopeNameExisted": "Api scope: {0} already exists!",
"IdentityResourceNameExisted": "Identity resource name: {0} already exists!",
"IdentityResourcePropertyExisted": "Identity resource property: {0} already exists!",
"ClientClaimNotFound": "Client claim: {0} not found!",
@@ -23,6 +25,7 @@
"ClientPropertyNotFound": "Client property: {0} not found!",
"IdentityResourcePropertyNotFound": "Identity resource property: {0} not found!",
"EncryptionNotImplemented": "Encryption type: {0} not implemented!",
+ "AddNew": "Add New",
"Basics": "Basics",
"Authentication": "Authentication",
"Token": "Token",
@@ -48,6 +51,9 @@
"Required": "Required",
"Emphasize": "Emphasize",
"ShowInDiscoveryDocument": "Show In Discovery Document",
+ "AllowedAccessTokenSigningAlgorithms": "Allowed AccessToken Signing Algorithms",
+ "Assigned": "Assigned",
+ "Available": "Available",
"Expiration": "Expiration",
"Scope:New": "Add New",
"Scope:Delete": "Delete",
@@ -74,6 +80,12 @@
"Clone:CopyProperties": "Copy the Client Properties",
"Clone:CopyIdentityProviderRestriction": "Copy the Client Identity Provider Restriction",
"Client:ProtocolType": "Protocol Type",
+ "Client:ApplicationUrls": "Application Urls",
+ "Client:CallbackUrl": "Callback Url",
+ "Client:RequireRequestObject": "Require Request Object",
+ "Client:AllowedIdentityTokenSigningAlgorithms": "Allowed Identity Token Signing Algorithms",
+ "Client:PostLogoutRedirectUri": "Post Logout Redirect Uri",
+ "Client:Resources": "Resources",
"Client:RequiredClientSecret": "Require Client Secret",
"Client:RequiredPkce": "Required Pkce",
"Client:AllowedPlainTextPkce": "Allowed Plain Text Pkce",
@@ -116,6 +128,7 @@
"Claims:Delete": "Delete",
"Claims:Type": "Type",
"Claims:Value": "Value",
+ "Claims:DuplicateValue": "Claim already exists and cannot add duplicates!",
"Propertites": "Propertites",
"Propertites:New": "Add New",
"Propertites:Key": "Key",
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/zh-Hans.json b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/zh-Hans.json
index 6a0b008f0..92227ae46 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/zh-Hans.json
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/Localization/Resources/zh-Hans.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "zh-Hans",
"texts": {
"Permissions:IdentityServer": "IdentityServer管理",
@@ -13,9 +13,11 @@
"Permissions:ManagePermissions": "更改权限",
"Permissions:Clients": "客户端管理",
"Permissions:ApiResources": "Api资源管理",
+ "Permissions:ApiScopes": "Api授权范围管理",
"Permissions:IdentityResources": "身份资源管理",
"ClientIdExisted": "客户端标识: {0} 已经存在!",
"ApiResourceNameExisted": "Api资源: {0} 已经存在!",
+ "ApiScopeNameExisted": "Api授权范围: {0} 已经存在!",
"IdentityResourceNameExisted": "身份资源: {0} 已经存在!",
"IdentityResourcePropertyExisted": "身份资源属性: {0} 已经存在!",
"ClientClaimNotFound": "客户端声明: {0} 不存在!",
@@ -23,6 +25,7 @@
"ClientPropertyNotFound": "客户端属性: {0} 不存在!",
"IdentityResourcePropertyNotFound": "身份资源属性: {0} 不存在!",
"EncryptionNotImplemented": "加密类型: {0} 未实现!",
+ "AddNew": "添加一个新的",
"Basics": "基本信息",
"Authentication": "认证/注销",
"Token": "令牌",
@@ -48,6 +51,9 @@
"Required": "必要",
"Emphasize": "强调",
"ShowInDiscoveryDocument": "在发现文档中显示",
+ "AllowedAccessTokenSigningAlgorithms": "允许访问令牌签名算法",
+ "Assigned": "可分配的",
+ "Available": "已拥有的",
"Expiration": "过期",
"Scope:New": "添加新作用域",
"Scope:Delete": "删除作用域",
@@ -73,6 +79,12 @@
"Clone:CopyPostLogoutRedirectUri": "复制客户端注销重定向 Uri",
"Clone:CopyProperties": "复制客户端属性",
"Clone:CopyIdentityProviderRestriction": "复制身份提供程序限制",
+ "Client:PostLogoutRedirectUri": "注销重定向地址",
+ "Client:ApplicationUrls": "应用程序Urls",
+ "Client:CallbackUrl": "回调地址",
+ "Client:RequireRequestObject": "需要请求对象",
+ "Client:AllowedIdentityTokenSigningAlgorithms": "允许身份令牌签名算法",
+ "Client:Resources": "资源",
"Client:ProtocolType": "协议类型",
"Client:RequiredClientSecret": "需要客户端密钥",
"Client:RequiredPkce": "需要 Pkce",
@@ -116,12 +128,15 @@
"Claims:Delete": "删除声明",
"Claims:Type": "声明类型",
"Claims:Value": "值",
+ "Claims:DuplicateValue": "声明类型已存在,不能添加重复值!",
"Propertites": "属性",
"Propertites:New": "添加新属性",
"Propertites:Key": "属性名称",
"Propertites:Value": "值",
"Propertites:Delete": "删除属性",
"Propertites:DuplicateKey": "属性已经存在,不能添加重复项!",
- "Permissions": "权限"
+ "Permissions": "权限",
+ "ApiScopes:Edit": "编辑范围",
+ "ApiScopes:Delete": "删除范围"
}
}
\ No newline at end of file
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/PropertyDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/PropertyDto.cs
new file mode 100644
index 000000000..cbcae7426
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/PropertyDto.cs
@@ -0,0 +1,9 @@
+namespace LINGYUN.Abp.IdentityServer
+{
+ public class PropertyDto
+ {
+ public string Key { get; set; }
+
+ public string Value { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ScopeDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ScopeDto.cs
new file mode 100644
index 000000000..e90e000b7
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/ScopeDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer
+{
+ public class ScopeDto
+ {
+ public string Scope { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretBaseDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretDto.cs
similarity index 80%
rename from aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretBaseDto.cs
rename to aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretDto.cs
index e0fee6baf..999213855 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretBaseDto.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/SecretDto.cs
@@ -1,8 +1,9 @@
using System;
+using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.IdentityServer
{
- public class SecretBaseDto
+ public class SecretDto
{
public string Type { get; set; }
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/UserClaimDto.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/UserClaimDto.cs
new file mode 100644
index 000000000..c94b5b012
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN/Abp/IdentityServer/UserClaimDto.cs
@@ -0,0 +1,7 @@
+namespace LINGYUN.Abp.IdentityServer
+{
+ public class UserClaimDto
+ {
+ public string Type { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj
index cbeb3c76c..f6229284c 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj
@@ -1,12 +1,16 @@
-
+
- netcoreapp3.1
+ net5.0
+
+
+
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationModule.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationModule.cs
index d29bb4994..2b920d423 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationModule.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerApplicationModule.cs
@@ -1,11 +1,13 @@
-using Volo.Abp.AutoMapper;
+using Volo.Abp.Application;
+using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.IdentityServer
{
[DependsOn(
- typeof(AbpIdentityServerDomainModule),
typeof(AbpIdentityServerApplicationContractsModule),
+ typeof(AbpIdentityServerDomainModule),
+ typeof(AbpDddApplicationModule),
typeof(AbpAutoMapperModule)
)]
public class AbpIdentityServerApplicationModule : AbpModule
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerAutoMapperProfile.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerAutoMapperProfile.cs
index 6c2f7ae91..14e411be6 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerAutoMapperProfile.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/AbpIdentityServerAutoMapperProfile.cs
@@ -1,10 +1,10 @@
using AutoMapper;
using LINGYUN.Abp.IdentityServer.ApiResources;
+using LINGYUN.Abp.IdentityServer.ApiScopes;
using LINGYUN.Abp.IdentityServer.Clients;
using LINGYUN.Abp.IdentityServer.IdentityResources;
-using System.Collections.Generic;
-using System.Linq;
using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.IdentityServer.ApiScopes;
using Volo.Abp.IdentityServer.Clients;
using Volo.Abp.IdentityServer.IdentityResources;
@@ -15,33 +15,37 @@ namespace LINGYUN.Abp.IdentityServer
public AbpIdentityServerAutoMapperProfile()
{
CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
CreateMap();
- CreateMap, Dictionary>()
- .ConstructUsing((props, ctx) =>
- {
- var properties = new Dictionary();
- foreach (var prop in props)
- {
- properties.Add(prop.Key, prop.Value);
- }
- return properties;
- });
- CreateMap()
- .ForMember(dto => dto.AllowedCorsOrigins, map => map.MapFrom(client => client.AllowedCorsOrigins.Select(origin => origin.Origin).ToList()))
- .ForMember(dto => dto.AllowedGrantTypes, map => map.MapFrom(client => client.AllowedGrantTypes.Select(grantType => grantType.GrantType).ToList()))
- .ForMember(dto => dto.AllowedScopes, map => map.MapFrom(client => client.AllowedScopes.Select(scope => scope.Scope).ToList()))
- .ForMember(dto => dto.IdentityProviderRestrictions, map => map.MapFrom(client => client.IdentityProviderRestrictions.Select(provider => provider.Provider).ToList()))
- .ForMember(dto => dto.PostLogoutRedirectUris, map => map.MapFrom(client => client.PostLogoutRedirectUris.Select(uri => uri.PostLogoutRedirectUri).ToList()))
- .ForMember(dto => dto.RedirectUris, map => map.MapFrom(client => client.RedirectUris.Select(uri => uri.RedirectUri).ToList()));
+ CreateMap();
+ CreateMap();
+ //.ForMember(dto => dto.AllowedCorsOrigins, map => map.MapFrom(client => client.AllowedCorsOrigins.Select(origin => origin.Origin).ToList()))
+ //.ForMember(dto => dto.AllowedGrantTypes, map => map.MapFrom(client => client.AllowedGrantTypes.Select(grantType => grantType.GrantType).ToList()))
+ //.ForMember(dto => dto.AllowedScopes, map => map.MapFrom(client => client.AllowedScopes.Select(scope => scope.Scope).ToList()))
+ //.ForMember(dto => dto.IdentityProviderRestrictions, map => map.MapFrom(client => client.IdentityProviderRestrictions.Select(provider => provider.Provider).ToList()))
+ //.ForMember(dto => dto.PostLogoutRedirectUris, map => map.MapFrom(client => client.PostLogoutRedirectUris.Select(uri => uri.PostLogoutRedirectUri).ToList()))
+ //.ForMember(dto => dto.RedirectUris, map => map.MapFrom(client => client.RedirectUris.Select(uri => uri.RedirectUri).ToList()));
- CreateMap();
+ // CreateMap();
+ CreateMap();
+ CreateMap();
CreateMap();
+
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
CreateMap()
- .ForMember(dto => dto.UserClaims, map => map.MapFrom(src => src.UserClaims.Select(claim => claim.Type).ToList()))
.MapExtraProperties();
+ CreateMap();
+ CreateMap();
CreateMap()
- .ForMember(dto => dto.UserClaims, map => map.MapFrom(src => src.UserClaims.Select(claim => claim.Type).ToList()))
.MapExtraProperties();
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiResources/ApiResourceAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiResources/ApiResourceAppService.cs
index c9c9e540d..300be5e0b 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiResources/ApiResourceAppService.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiResources/ApiResourceAppService.cs
@@ -49,11 +49,12 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
{
throw new UserFriendlyException(L[AbpIdentityServerErrorConsts.ApiResourceNameExisted, input.Name]);
}
- var apiResource = new ApiResource(GuidGenerator.Create(), input.Name,
- input.DisplayName, input.Description)
- {
- Enabled = input.Enabled
- };
+ var apiResource = new ApiResource(
+ GuidGenerator.Create(),
+ input.Name,
+ input.DisplayName,
+ input.Description);
+
await UpdateApiResourceByInputAsync(apiResource, input);
apiResource = await ApiResourceRepository.InsertAsync(apiResource);
@@ -67,9 +68,6 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
public virtual async Task UpdateAsync(Guid id, ApiResourceUpdateDto input)
{
var apiResource = await ApiResourceRepository.GetAsync(id);
- apiResource.DisplayName = input.DisplayName ?? apiResource.DisplayName;
- apiResource.Description = input.Description ?? apiResource.Description;
- apiResource.Enabled = input.Enabled;
await UpdateApiResourceByInputAsync(apiResource, input);
@@ -91,16 +89,33 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
protected virtual async Task UpdateApiResourceByInputAsync(ApiResource apiResource, ApiResourceCreateOrUpdateDto input)
{
+ apiResource.ShowInDiscoveryDocument = input.ShowInDiscoveryDocument;
+ apiResource.Enabled = input.Enabled;
+
+ if (!string.Equals(apiResource.AllowedAccessTokenSigningAlgorithms, input.AllowedAccessTokenSigningAlgorithms, StringComparison.InvariantCultureIgnoreCase))
+ {
+ apiResource.AllowedAccessTokenSigningAlgorithms = input.AllowedAccessTokenSigningAlgorithms;
+ }
+ if (!string.Equals(apiResource.DisplayName, input.DisplayName, StringComparison.InvariantCultureIgnoreCase))
+ {
+ apiResource.DisplayName = input.DisplayName;
+ }
+ if (apiResource.Description?.Equals(input.Description, StringComparison.InvariantCultureIgnoreCase)
+ == false)
+ {
+ apiResource.Description = input.Description;
+ }
+
if (await IsGrantAsync(AbpIdentityServerPermissions.ApiResources.ManageClaims))
{
// 删除不存在的UserClaim
- apiResource.UserClaims.RemoveAll(claim => !input.UserClaims.Contains(claim.Type));
+ apiResource.UserClaims.RemoveAll(claim => !input.UserClaims.Any(inputClaim => claim.Type == inputClaim.Type));
foreach (var inputClaim in input.UserClaims)
{
- var userClaim = apiResource.FindClaim(inputClaim);
+ var userClaim = apiResource.FindClaim(inputClaim.Type);
if (userClaim == null)
{
- apiResource.AddUserClaim(inputClaim);
+ apiResource.AddUserClaim(inputClaim.Type);
}
}
}
@@ -108,34 +123,13 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
if (await IsGrantAsync(AbpIdentityServerPermissions.ApiResources.ManageScopes))
{
// 删除不存在的Scope
- apiResource.Scopes.RemoveAll(scope => !input.Scopes.Any(inputScope => scope.Name == inputScope.Name));
+ apiResource.Scopes.RemoveAll(scope => !input.Scopes.Any(inputScope => scope.Scope == inputScope.Scope));
foreach (var inputScope in input.Scopes)
{
- var scope = apiResource.FindScope(inputScope.Name);
+ var scope = apiResource.FindScope(inputScope.Scope);
if (scope == null)
{
- scope = apiResource.AddScope(
- inputScope.Name, inputScope.DisplayName, inputScope.Description,
- inputScope.Required, inputScope.Emphasize, inputScope.ShowInDiscoveryDocument);
- }
- else
- {
- scope.Required = inputScope.Required;
- scope.Emphasize = inputScope.Emphasize;
- scope.Description = inputScope.Description;
- scope.DisplayName = inputScope.DisplayName;
- scope.ShowInDiscoveryDocument = inputScope.ShowInDiscoveryDocument;
- // 删除不存在的ScopeUserClaim
- scope.UserClaims.RemoveAll(claim => !inputScope.UserClaims.Contains(claim.Type));
- }
-
- foreach (var inputScopeClaim in inputScope.UserClaims)
- {
- var scopeUserClaim = scope.FindClaim(inputScopeClaim);
- if (scopeUserClaim == null)
- {
- scope.AddUserClaim(inputScopeClaim);
- }
+ apiResource.AddScope(inputScope.Scope);
}
}
}
@@ -174,10 +168,18 @@ namespace LINGYUN.Abp.IdentityServer.ApiResources
if (await IsGrantAsync(AbpIdentityServerPermissions.ApiResources.ManageProperties))
{
// 删除不存在的属性
- apiResource.Properties.RemoveAll(scope => !input.Properties.ContainsKey(scope.Key));
- foreach (var property in input.Properties)
+ apiResource.Properties.RemoveAll(prop => !input.Properties.Any(inputProp => prop.Key == inputProp.Key));
+ foreach (var inputProp in input.Properties)
{
- apiResource.Properties[property.Key] = property.Value;
+ var apiResourceProperty = apiResource.FindProperty(inputProp.Key);
+ if (apiResourceProperty == null)
+ {
+ apiResource.AddProperty(inputProp.Key, inputProp.Value);
+ }
+ else
+ {
+ apiResourceProperty.Value = inputProp.Value;
+ }
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeAppService.cs
new file mode 100644
index 000000000..103ddd131
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeAppService.cs
@@ -0,0 +1,142 @@
+using Microsoft.AspNetCore.Authorization;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.IdentityServer.ApiScopes;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ [Authorize(AbpIdentityServerPermissions.ApiScopes.Default)]
+ public class ApiScopeAppService : AbpIdentityServerAppServiceBase, IApiScopeAppService
+ {
+ protected IApiScopeRepository ApiScopeRepository { get; }
+
+ public ApiScopeAppService(
+ IApiScopeRepository apiScopeRepository)
+ {
+ ApiScopeRepository = apiScopeRepository;
+ }
+
+ [Authorize(AbpIdentityServerPermissions.ApiScopes.Create)]
+ public virtual async Task CreateAsync(ApiScopeCreateDto input)
+ {
+ if (await ApiScopeRepository.CheckNameExistAsync(input.Name))
+ {
+ throw new UserFriendlyException(L[AbpIdentityServerErrorConsts.ApiScopeNameExisted, input.Name]);
+ }
+ var apiScope = new ApiScope(
+ GuidGenerator.Create(),
+ input.Name,
+ input.DisplayName,
+ input.Description,
+ input.Enabled,
+ input.Required,
+ input.Emphasize,
+ input.ShowInDiscoveryDocument);
+
+ await UpdateApiScopeByInputAsync(apiScope, input);
+
+ await CurrentUnitOfWork.SaveChangesAsync();
+
+ apiScope = await ApiScopeRepository.InsertAsync(apiScope);
+
+ return ObjectMapper.Map(apiScope);
+ }
+
+ [Authorize(AbpIdentityServerPermissions.ApiScopes.Delete)]
+ public virtual async Task DeleteAsync(Guid id)
+ {
+ var apiScope = await ApiScopeRepository.GetAsync(id);
+
+ await ApiScopeRepository.DeleteAsync(apiScope);
+
+ await CurrentUnitOfWork.SaveChangesAsync();
+ }
+
+ public virtual async Task GetAsync(Guid id)
+ {
+ var apiScope = await ApiScopeRepository.GetAsync(id);
+
+ return ObjectMapper.Map(apiScope);
+ }
+
+ public virtual async Task> GetListAsync(GetApiScopeInput input)
+ {
+ var totalCount = await ApiScopeRepository
+ .GetCountAsync(input.Filter);
+
+ var apiScopes = await ApiScopeRepository
+ .GetListAsync(
+ input.Sorting,
+ input.SkipCount, input.MaxResultCount,
+ input.Filter);
+
+ return new PagedResultDto(totalCount,
+ ObjectMapper.Map, List>(apiScopes));
+ }
+
+ [Authorize(AbpIdentityServerPermissions.ApiScopes.Update)]
+ public virtual async Task UpdateAsync(Guid id, ApiScopeUpdateDto input)
+ {
+ var apiScope = await ApiScopeRepository.GetAsync(id);
+
+ await UpdateApiScopeByInputAsync(apiScope, input);
+ apiScope = await ApiScopeRepository.UpdateAsync(apiScope);
+
+ await CurrentUnitOfWork.SaveChangesAsync();
+
+ return ObjectMapper.Map(apiScope);
+ }
+
+ protected virtual async Task UpdateApiScopeByInputAsync(ApiScope apiScope, ApiScopeCreateOrUpdateDto input)
+ {
+ if (!string.Equals(apiScope.Description, input.Description, StringComparison.InvariantCultureIgnoreCase))
+ {
+ apiScope.Description = input.Description;
+ }
+ if (!string.Equals(apiScope.DisplayName, input.DisplayName, StringComparison.InvariantCultureIgnoreCase))
+ {
+ apiScope.DisplayName = input.DisplayName;
+ }
+ apiScope.Emphasize = input.Emphasize;
+ apiScope.Enabled = input.Enabled;
+ apiScope.Required = input.Required;
+ apiScope.ShowInDiscoveryDocument = input.ShowInDiscoveryDocument;
+
+ if (await IsGrantAsync(AbpIdentityServerPermissions.ApiScopes.ManageClaims))
+ {
+ // 删除不存在的UserClaim
+ apiScope.UserClaims.RemoveAll(claim => !input.UserClaims.Any(inputClaim => claim.Type == inputClaim.Type));
+ foreach (var inputClaim in input.UserClaims)
+ {
+ var userClaim = apiScope.FindClaim(inputClaim.Type);
+ if (userClaim == null)
+ {
+ apiScope.AddUserClaim(inputClaim.Type);
+ }
+ }
+ }
+
+ if (await IsGrantAsync(AbpIdentityServerPermissions.ApiScopes.ManageProperties))
+ {
+ // 删除不存在的Property
+ apiScope.Properties.RemoveAll(prop => !input.Properties.Any(inputProp => prop.Key == inputProp.Key));
+ foreach (var inputProp in input.Properties)
+ {
+ var identityResourceProperty = apiScope.FindProperty(inputProp.Key);
+ if (identityResourceProperty == null)
+ {
+ apiScope.AddProperty(inputProp.Key, inputProp.Value);
+ }
+ else
+ {
+ identityResourceProperty.Value = inputProp.Value;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Clients/ClientAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Clients/ClientAppService.cs
index 0f2515610..eaae1c508 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Clients/ClientAppService.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Clients/ClientAppService.cs
@@ -44,9 +44,9 @@ namespace LINGYUN.Abp.IdentityServer.Clients
ClientName = clientCreate.ClientName,
Description = clientCreate.Description
};
- foreach (var grantType in clientCreate.AllowedGrantTypes)
+ foreach (var inputGrantType in clientCreate.AllowedGrantTypes)
{
- client.AddGrantType(grantType);
+ client.AddGrantType(inputGrantType.GrantType);
}
client = await ClientRepository.InsertAsync(client);
@@ -134,6 +134,11 @@ namespace LINGYUN.Abp.IdentityServer.Clients
{
client.ProtocolType = input.ProtocolType;
}
+ if (!string.Equals(client.AllowedIdentityTokenSigningAlgorithms, input.AllowedIdentityTokenSigningAlgorithms, StringComparison.InvariantCultureIgnoreCase))
+ {
+ client.AllowedIdentityTokenSigningAlgorithms = input.AllowedIdentityTokenSigningAlgorithms;
+ }
+
client.AbsoluteRefreshTokenLifetime = input.AbsoluteRefreshTokenLifetime;
client.AccessTokenLifetime = input.AccessTokenLifetime;
client.AccessTokenType = input.AccessTokenType;
@@ -148,6 +153,7 @@ namespace LINGYUN.Abp.IdentityServer.Clients
client.DeviceCodeLifetime = input.DeviceCodeLifetime;
client.ConsentLifetime = input.ConsentLifetime ?? client.ConsentLifetime;
client.Enabled = input.Enabled;
+ client.RequireRequestObject = input.RequireRequestObject;
client.EnableLocalLogin = input.EnableLocalLogin;
client.FrontChannelLogoutSessionRequired = input.FrontChannelLogoutSessionRequired;
client.IdentityTokenLifetime = input.IdentityTokenLifetime;
@@ -164,12 +170,12 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region AllowScope
// 删除未在身份资源和Api资源中的作用域
- client.AllowedScopes.RemoveAll(scope => !input.AllowedScopes.Contains(scope.Scope));
- foreach (var scope in input.AllowedScopes)
+ client.AllowedScopes.RemoveAll(scope => !input.AllowedScopes.Any(inputScope => scope.Scope == inputScope.Scope));
+ foreach (var inputScope in input.AllowedScopes)
{
- if (client.FindScope(scope) == null)
+ if (client.FindScope(inputScope.Scope) == null)
{
- client.AddScope(scope);
+ client.AddScope(inputScope.Scope);
}
}
@@ -177,12 +183,12 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region RedirectUris
// 删除不存在的uri
- client.RedirectUris.RemoveAll(uri => !input.RedirectUris.Contains(uri.RedirectUri));
- foreach (var redirect in input.RedirectUris)
+ client.RedirectUris.RemoveAll(uri => !input.RedirectUris.Any(inputRedirectUri => uri.RedirectUri == inputRedirectUri.RedirectUri));
+ foreach (var inputRedirectUri in input.RedirectUris)
{
- if (client.FindRedirectUri(redirect) == null)
+ if (client.FindRedirectUri(inputRedirectUri.RedirectUri) == null)
{
- client.AddRedirectUri(redirect);
+ client.AddRedirectUri(inputRedirectUri.RedirectUri);
}
}
@@ -190,12 +196,12 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region AllowedGrantTypes
// 删除不存在的验证类型
- client.AllowedGrantTypes.RemoveAll(grantType => !input.AllowedGrantTypes.Contains(grantType.GrantType));
- foreach (var grantType in input.AllowedGrantTypes)
+ client.AllowedGrantTypes.RemoveAll(grantType => !input.AllowedGrantTypes.Any(inputGrantType => grantType.GrantType == inputGrantType.GrantType));
+ foreach (var inputGrantType in input.AllowedGrantTypes)
{
- if (client.FindGrantType(grantType) == null)
+ if (client.FindGrantType(inputGrantType.GrantType) == null)
{
- client.AddGrantType(grantType);
+ client.AddGrantType(inputGrantType.GrantType);
}
}
@@ -203,12 +209,12 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region AllowedCorsOrigins
// 删除不存在的同源域名
- client.AllowedCorsOrigins.RemoveAll(corgOrigin => !input.AllowedCorsOrigins.Contains(corgOrigin.Origin));
- foreach (var corgOrigin in input.AllowedCorsOrigins)
+ client.AllowedCorsOrigins.RemoveAll(corsOrigin => !input.AllowedCorsOrigins.Any(inputCorsOrigin => corsOrigin.Origin == inputCorsOrigin.Origin));
+ foreach (var inputCorsOrigin in input.AllowedCorsOrigins)
{
- if (client.FindCorsOrigin(corgOrigin) == null)
+ if (client.FindCorsOrigin(inputCorsOrigin.Origin) == null)
{
- client.AddCorsOrigin(corgOrigin);
+ client.AddCorsOrigin(inputCorsOrigin.Origin);
}
}
@@ -217,12 +223,13 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region PostLogoutRedirectUris
// 删除不存在的登录重定向域名
- client.PostLogoutRedirectUris.RemoveAll(uri => !input.PostLogoutRedirectUris.Contains(uri.PostLogoutRedirectUri));
- foreach (var logoutRedirectUri in input.PostLogoutRedirectUris)
+ client.PostLogoutRedirectUris.RemoveAll(uri =>
+ !input.PostLogoutRedirectUris.Any(inputLogoutRedirectUri => uri.PostLogoutRedirectUri == inputLogoutRedirectUri.PostLogoutRedirectUri));
+ foreach (var inputLogoutRedirectUri in input.PostLogoutRedirectUris)
{
- if (client.FindPostLogoutRedirectUri(logoutRedirectUri) == null)
+ if (client.FindPostLogoutRedirectUri(inputLogoutRedirectUri.PostLogoutRedirectUri) == null)
{
- client.AddPostLogoutRedirectUri(logoutRedirectUri);
+ client.AddPostLogoutRedirectUri(inputLogoutRedirectUri.PostLogoutRedirectUri);
}
}
@@ -231,12 +238,13 @@ namespace LINGYUN.Abp.IdentityServer.Clients
#region IdentityProviderRestrictions
// 删除身份认证限制提供商
- client.IdentityProviderRestrictions.RemoveAll(provider => !input.IdentityProviderRestrictions.Contains(provider.Provider));
- foreach (var provider in input.IdentityProviderRestrictions)
+ client.IdentityProviderRestrictions.RemoveAll(provider =>
+ !input.IdentityProviderRestrictions.Any(inputProvider => provider.Provider == inputProvider.Provider));
+ foreach (var inputProvider in input.IdentityProviderRestrictions)
{
- if (client.FindIdentityProviderRestriction(provider) == null)
+ if (client.FindIdentityProviderRestriction(inputProvider.Provider) == null)
{
- client.AddIdentityProviderRestriction(provider);
+ client.AddIdentityProviderRestriction(inputProvider.Provider);
}
}
@@ -247,32 +255,15 @@ namespace LINGYUN.Abp.IdentityServer.Clients
if (await IsGrantAsync(AbpIdentityServerPermissions.Clients.ManageSecrets))
{
// 移除已经不存在的客户端密钥
- client.ClientSecrets.RemoveAll(secret => !input.Secrets.Any(inputSecret => secret.Value == inputSecret.Value && secret.Type == inputSecret.Type));
- foreach (var inputSecret in input.Secrets)
+ client.ClientSecrets.RemoveAll(secret => !input.ClientSecrets.Any(inputSecret => secret.Value == inputSecret.Value && secret.Type == inputSecret.Type));
+ foreach (var inputSecret in input.ClientSecrets)
{
// 先对加密过的进行过滤
if (client.FindSecret(inputSecret.Value, inputSecret.Type) != null)
{
continue;
}
- var inputSecretValue = inputSecret.Value;
- // 如果是 SharedSecret 类型的密钥
- // 采用 IdentityServer4 服务器扩展方法加密
- if (IdentityServerConstants.SecretTypes.SharedSecret.Equals(inputSecret.Type))
- {
- if (inputSecret.HashType == HashType.Sha256)
- {
- inputSecretValue = inputSecret.Value.Sha256();
- }
- else if (inputSecret.HashType == HashType.Sha512)
- {
- inputSecretValue = inputSecret.Value.Sha512();
- }
- }
- else
- {
- throw new UserFriendlyException(L["EncryptionNotImplemented", inputSecret.Type]);
- }
+ var inputSecretValue = inputSecret.Value.Sha256(); // TODO: 通过可选配置来加密
var clientSecret = client.FindSecret(inputSecretValue, inputSecret.Type);
if (clientSecret == null)
@@ -289,7 +280,7 @@ namespace LINGYUN.Abp.IdentityServer.Clients
if (await IsGrantAsync(AbpIdentityServerPermissions.Clients.ManageProperties))
{
// 移除不存在的属性
- client.Properties.RemoveAll(prop => !input.Properties.ContainsKey(prop.Key));
+ client.Properties.RemoveAll(prop => !input.Properties.Any(inputProp => prop.Key == inputProp.Key));
foreach (var inputProp in input.Properties)
{
if (client.FindProperty(inputProp.Key, inputProp.Value) == null)
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantAppService.cs
index bb7fc10cf..9314db511 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantAppService.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantAppService.cs
@@ -1,26 +1,52 @@
-using System.Collections.Generic;
+using Microsoft.AspNetCore.Authorization;
+using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.IdentityServer.Grants;
namespace LINGYUN.Abp.IdentityServer.Grants
{
- public class PersistedGrantAppService : AbpIdentityServerAppServiceBase
+ [Authorize(AbpIdentityServerPermissions.Grants.Default)]
+ public class PersistedGrantAppService : AbpIdentityServerAppServiceBase, IPersistedGrantAppService
{
protected IPersistentGrantRepository PersistentGrantRepository { get; }
- public virtual async Task> GetListAsync(PersistedGrantGetPagedDto input)
+
+ public PersistedGrantAppService(
+ IPersistentGrantRepository persistentGrantRepository)
{
- var persistenGrantCount = await PersistentGrantRepository.GetCountAsync(
- input.SubjectId, input.Filter);
+ PersistentGrantRepository = persistentGrantRepository;
+ }
- var persistenGrants = await PersistentGrantRepository.GetListAsync(
- input.SubjectId, input.Filter, input.Sorting,
- input.SkipCount, input.MaxResultCount);
+ [Authorize(AbpIdentityServerPermissions.Grants.Delete)]
+ public virtual async Task DeleteAsync(Guid id)
+ {
+ var persistedGrant = await PersistentGrantRepository.GetAsync(id);
- return new PagedResultDto(persistenGrantCount,
- ObjectMapper.Map, List>(persistenGrants));
+ await PersistentGrantRepository.DeleteAsync(persistedGrant);
+ await CurrentUnitOfWork.SaveChangesAsync();
+ }
+
+ public virtual async Task GetAsync(Guid id)
+ {
+ var persistedGrant = await PersistentGrantRepository.GetAsync(id);
+
+ return ObjectMapper.Map(persistedGrant);
}
+ public virtual async Task> GetListAsync(GetPersistedGrantInput input)
+ {
+ var persistenGrantCount = await PersistentGrantRepository
+ .GetCountAsync(
+ input.SubjectId, input.Filter);
+
+ var persistenGrants = await PersistentGrantRepository
+ .GetListAsync(
+ input.SubjectId, input.Filter, input.Sorting,
+ input.SkipCount, input.MaxResultCount);
+ return new PagedResultDto(persistenGrantCount,
+ ObjectMapper.Map, List>(persistenGrants));
+ }
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/IdentityResources/IdentityResourceAppService.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/IdentityResources/IdentityResourceAppService.cs
index 38be28e9a..4dcfec90c 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/IdentityResources/IdentityResourceAppService.cs
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN/Abp/IdentityServer/IdentityResources/IdentityResourceAppService.cs
@@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Authorization;
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
@@ -97,13 +98,13 @@ namespace LINGYUN.Abp.IdentityServer.IdentityResources
if (await IsGrantAsync(AbpIdentityServerPermissions.IdentityResources.ManageClaims))
{
// 删除不存在的UserClaim
- identityResource.UserClaims.RemoveAll(claim => input.UserClaims.Contains(claim.Type));
+ identityResource.UserClaims.RemoveAll(claim => input.UserClaims.Any(inputClaim => claim.Type == inputClaim.Type));
foreach (var inputClaim in input.UserClaims)
{
- var userClaim = identityResource.FindUserClaim(inputClaim);
+ var userClaim = identityResource.FindUserClaim(inputClaim.Type);
if (userClaim == null)
{
- identityResource.AddUserClaim(inputClaim);
+ identityResource.AddUserClaim(inputClaim.Type);
}
}
}
@@ -111,10 +112,18 @@ namespace LINGYUN.Abp.IdentityServer.IdentityResources
if (await IsGrantAsync(AbpIdentityServerPermissions.IdentityResources.ManageProperties))
{
// 删除不存在的Property
- identityResource.Properties.RemoveAll(scope => !input.Properties.ContainsKey(scope.Key));
+ identityResource.Properties.RemoveAll(prop => !input.Properties.Any(inputProp => prop.Key == inputProp.Key));
foreach (var inputProp in input.Properties)
{
- identityResource.Properties[inputProp.Key] = inputProp.Value;
+ var identityResourceProperty = identityResource.FindProperty(inputProp.Key);
+ if (identityResourceProperty == null)
+ {
+ identityResource.AddProperty(inputProp.Key, inputProp.Value);
+ }
+ else
+ {
+ identityResourceProperty.Value = inputProp.Value;
+ }
}
}
}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj
index 6ad7b3869..23620f974 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeRepository.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeRepository.cs
new file mode 100644
index 000000000..b62176e12
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN/Abp/IdentityServer/ApiScopes/IApiScopeRepository.cs
@@ -0,0 +1,13 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ public interface IApiScopeRepository : Volo.Abp.IdentityServer.ApiScopes.IApiScopeRepository
+ {
+ Task GetCountAsync(
+ string filter = null,
+ CancellationToken cancellationToken = default
+ );
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj
index fde55c578..fa71d4ffa 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN/Abp/IdentityServer/ApiScopes/EfCoreApiScopeRepository.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN/Abp/IdentityServer/ApiScopes/EfCoreApiScopeRepository.cs
new file mode 100644
index 000000000..ec374a637
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN/Abp/IdentityServer/ApiScopes/EfCoreApiScopeRepository.cs
@@ -0,0 +1,37 @@
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.IdentityServer.ApiScopes;
+using Volo.Abp.IdentityServer.EntityFrameworkCore;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ [Dependency(ServiceLifetime.Transient)]
+ [ExposeServices(
+ typeof(IApiScopeRepository),
+ typeof(ApiScopeRepository),
+ typeof(Volo.Abp.IdentityServer.ApiScopes.IApiScopeRepository))]
+ public class EfCoreApiScopeRepository : ApiScopeRepository, IApiScopeRepository
+ {
+ public EfCoreApiScopeRepository(IDbContextProvider dbContextProvider)
+ : base(dbContextProvider)
+ {
+ }
+
+ public virtual async Task GetCountAsync(
+ string filter = null,
+ CancellationToken cancellationToken = default)
+ {
+ return await DbSet
+ .WhereIf(!filter.IsNullOrWhiteSpace(), x =>
+ x.Name.Contains(filter) || x.DisplayName.Contains(filter) || x.Description.Contains(filter))
+ .CountAsync(GetCancellationToken(cancellationToken));
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj
index db7b7f939..9e205c2d9 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeController.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeController.cs
new file mode 100644
index 000000000..9452601bf
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/ApiScopes/ApiScopeController.cs
@@ -0,0 +1,56 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.AspNetCore.Mvc;
+
+namespace LINGYUN.Abp.IdentityServer.ApiScopes
+{
+ [RemoteService(Name = AbpIdentityServerConsts.RemoteServiceName)]
+ [Area("identity-server")]
+ [Route("api/identity-server/api-scopes")]
+ public class ApiScopeController : AbpController, IApiScopeAppService
+ {
+ protected IApiScopeAppService ApiScopeAppService { get; }
+
+ public ApiScopeController(
+ IApiScopeAppService apiScopeAppService)
+ {
+ ApiScopeAppService = apiScopeAppService;
+ }
+
+ [HttpPost]
+ public virtual async Task CreateAsync(ApiScopeCreateDto input)
+ {
+ return await ApiScopeAppService.CreateAsync(input);
+ }
+
+ [HttpDelete]
+ [Route("{id}")]
+ public virtual async Task DeleteAsync(Guid id)
+ {
+ await ApiScopeAppService.DeleteAsync(id);
+ }
+
+ [HttpGet]
+ [Route("{id}")]
+ public virtual async Task GetAsync(Guid id)
+ {
+ return await ApiScopeAppService.GetAsync(id);
+ }
+
+ [HttpGet]
+ public virtual async Task> GetListAsync(GetApiScopeInput input)
+ {
+ return await ApiScopeAppService.GetListAsync(input);
+ }
+
+ [HttpPut]
+ [Route("{id}")]
+ public virtual async Task UpdateAsync(Guid id, ApiScopeUpdateDto input)
+ {
+ return await ApiScopeAppService.UpdateAsync(id, input);
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantController.cs b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantController.cs
new file mode 100644
index 000000000..7469ec49e
--- /dev/null
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN/Abp/IdentityServer/Grants/PersistedGrantController.cs
@@ -0,0 +1,43 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.AspNetCore.Mvc;
+
+namespace LINGYUN.Abp.IdentityServer.Grants
+{
+ [RemoteService(Name = AbpIdentityServerConsts.RemoteServiceName)]
+ [Area("identity-server")]
+ [Route("api/identity-server/persisted-grants")]
+ public class PersistedGrantController : AbpController, IPersistedGrantAppService
+ {
+ protected IPersistedGrantAppService PersistedGrantAppService { get; }
+
+ public PersistedGrantController(
+ IPersistedGrantAppService persistedGrantAppService)
+ {
+ PersistedGrantAppService = persistedGrantAppService;
+ }
+
+ [HttpDelete]
+ [Route("{id}")]
+ public virtual async Task DeleteAsync(Guid id)
+ {
+ await PersistedGrantAppService.DeleteAsync(id);
+ }
+
+ [HttpGet]
+ [Route("{id}")]
+ public virtual async Task GetAsync(Guid id)
+ {
+ return await PersistedGrantAppService.GetAsync(id);
+ }
+
+ [HttpGet]
+ public virtual async Task> GetListAsync(GetPersistedGrantInput input)
+ {
+ return await PersistedGrantAppService.GetListAsync(input);
+ }
+ }
+}
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj
index 21cde5ebb..de5228422 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj
@@ -3,7 +3,7 @@
- netcoreapp3.1
+ net5.0
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj
index ac41f1cc2..e40515ffe 100644
--- a/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj
+++ b/aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj
@@ -3,7 +3,7 @@
- netcoreapp3.1
+ net5.0
@@ -13,7 +13,7 @@
-
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application.Contracts/LINGYUN.Abp.MessageService.Application.Contracts.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application.Contracts/LINGYUN.Abp.MessageService.Application.Contracts.csproj
index cf02e7d67..ee2e88bd6 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application.Contracts/LINGYUN.Abp.MessageService.Application.Contracts.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application.Contracts/LINGYUN.Abp.MessageService.Application.Contracts.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application/LINGYUN.Abp.MessageService.Application.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application/LINGYUN.Abp.MessageService.Application.csproj
index 7b0c251d5..7bdf6bc1e 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application/LINGYUN.Abp.MessageService.Application.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Application/LINGYUN.Abp.MessageService.Application.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain.Shared/LINGYUN.Abp.MessageService.Domain.Shared.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain.Shared/LINGYUN.Abp.MessageService.Domain.Shared.csproj
index cba2e48f8..33b5f5829 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain.Shared/LINGYUN.Abp.MessageService.Domain.Shared.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain.Shared/LINGYUN.Abp.MessageService.Domain.Shared.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain/LINGYUN.Abp.MessageService.Domain.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain/LINGYUN.Abp.MessageService.Domain.csproj
index ad1d4975b..7ae1d5c7d 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain/LINGYUN.Abp.MessageService.Domain.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.Domain/LINGYUN.Abp.MessageService.Domain.csproj
@@ -18,11 +18,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.EntityFrameworkCore/LINGYUN.Abp.MessageService.EntityFrameworkCore.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.EntityFrameworkCore/LINGYUN.Abp.MessageService.EntityFrameworkCore.csproj
index e4bc7ff40..93d08b2a3 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.EntityFrameworkCore/LINGYUN.Abp.MessageService.EntityFrameworkCore.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.EntityFrameworkCore/LINGYUN.Abp.MessageService.EntityFrameworkCore.csproj
@@ -3,12 +3,12 @@
- netstandard2.0
+ netstandard2.1
-
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi.Client/LINGYUN.Abp.MessageService.HttpApi.Client.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi.Client/LINGYUN.Abp.MessageService.HttpApi.Client.csproj
index ea6d1b755..5cc7fa9a7 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi.Client/LINGYUN.Abp.MessageService.HttpApi.Client.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi.Client/LINGYUN.Abp.MessageService.HttpApi.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi/LINGYUN.Abp.MessageService.HttpApi.csproj b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi/LINGYUN.Abp.MessageService.HttpApi.csproj
index a16b2f56e..1f4424fd6 100644
--- a/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi/LINGYUN.Abp.MessageService.HttpApi.csproj
+++ b/aspnet-core/modules/message/LINGYUN.Abp.MessageService.HttpApi/LINGYUN.Abp.MessageService.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN.Abp.PermissionManagement.Domain.csproj b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN.Abp.PermissionManagement.Domain.csproj
index ca25d5e7b..bd66a71c9 100644
--- a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN.Abp.PermissionManagement.Domain.csproj
+++ b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN.Abp.PermissionManagement.Domain.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN/Abp/PermissionManagement/FixClientPermissionValueProvider.cs b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN/Abp/PermissionManagement/FixClientPermissionValueProvider.cs
index 997c5d9d5..4dd827220 100644
--- a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN/Abp/PermissionManagement/FixClientPermissionValueProvider.cs
+++ b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Domain/LINGYUN/Abp/PermissionManagement/FixClientPermissionValueProvider.cs
@@ -14,7 +14,7 @@ namespace LINGYUN.Abp.PermissionManagement
protected ICurrentTenant CurrentTenant { get; }
public FixClientPermissionValueProvider(
IPermissionStore permissionStore,
- ICurrentTenant currentTenant) : base(permissionStore)
+ ICurrentTenant currentTenant) : base(permissionStore, currentTenant)
{
CurrentTenant = currentTenant;
}
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.Application.Contracts/LINGYUN.Platform.Application.Contracts.csproj b/aspnet-core/modules/platform/LINGYUN.Platform.Application.Contracts/LINGYUN.Platform.Application.Contracts.csproj
index 831393257..38c2185e7 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.Application.Contracts/LINGYUN.Platform.Application.Contracts.csproj
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.Application.Contracts/LINGYUN.Platform.Application.Contracts.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.Domain.Shared/LINGYUN.Platform.Domain.Shared.csproj b/aspnet-core/modules/platform/LINGYUN.Platform.Domain.Shared/LINGYUN.Platform.Domain.Shared.csproj
index 75b0aa691..b85240c0a 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.Domain.Shared/LINGYUN.Platform.Domain.Shared.csproj
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.Domain.Shared/LINGYUN.Platform.Domain.Shared.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN.Platform.Domain.csproj b/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN.Platform.Domain.csproj
index a1f41c87a..9d9914c7f 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN.Platform.Domain.csproj
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN.Platform.Domain.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN.Platform.EntityFrameworkCore.csproj b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN.Platform.EntityFrameworkCore.csproj
index 99d4b0169..cba76445e 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN.Platform.EntityFrameworkCore.csproj
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN.Platform.EntityFrameworkCore.csproj
@@ -3,12 +3,12 @@
- netstandard2.0
+ netstandard2.1
-
+
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/EntityFrameworkCore/PlatformEfCoreQueryableExtensions.cs b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/EntityFrameworkCore/PlatformEfCoreQueryableExtensions.cs
index 53a44e2e8..f57290c53 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/EntityFrameworkCore/PlatformEfCoreQueryableExtensions.cs
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/EntityFrameworkCore/PlatformEfCoreQueryableExtensions.cs
@@ -37,7 +37,7 @@ namespace LINGYUN.Platform.EntityFrameworkCore
}
return queryable
- //.AsSplitQuery()
+ .AsSplitQuery()
.Include(x => x.Items);
}
}
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/Versions/EfCoreVersionRepository.cs b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/Versions/EfCoreVersionRepository.cs
index cb02161f9..16d1831cb 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/Versions/EfCoreVersionRepository.cs
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.EntityFrameworkCore/LINGYUN/Platform/Versions/EfCoreVersionRepository.cs
@@ -34,9 +34,9 @@ namespace LINGYUN.Platform.Versions
.IncludeIf(includeDetails, x => x.Files)
.Where(x => (platformType | x.PlatformType) == x.PlatformType)
.WhereIf(!filter.IsNullOrWhiteSpace(), x => x.Version.Contains(filter) || x.Title.Contains(filter))
- .OrderByDescending(x => x.CreationTime)
- .ThenBy(soring ?? nameof(AppVersion.Version)) // TODO: 排序待优化
- .Page(skipCount, maxResultCount)
+ .OrderBy($"{nameof(AppVersion.CreationTime)} DESC")
+ .ThenBy(soring ?? nameof(AppVersion.Version))
+ .PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
}
@@ -60,7 +60,8 @@ namespace LINGYUN.Platform.Versions
return await DbSet
.Include(x => x.Files)
.Where(x => (platformType | x.PlatformType) == x.PlatformType)
- .OrderByDescending(x => x.CreationTime)
+ .OrderBy($"{nameof(AppVersion.CreationTime)} DESC")
+ .ThenBy(nameof(AppVersion.Version))
.FirstOrDefaultAsync(GetCancellationToken(cancellationToken));
}
}
diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.HttpApi/LINGYUN.Platform.HttpApi.csproj b/aspnet-core/modules/platform/LINGYUN.Platform.HttpApi/LINGYUN.Platform.HttpApi.csproj
index 8ab7f6fe5..94e31bd0a 100644
--- a/aspnet-core/modules/platform/LINGYUN.Platform.HttpApi/LINGYUN.Platform.HttpApi.csproj
+++ b/aspnet-core/modules/platform/LINGYUN.Platform.HttpApi/LINGYUN.Platform.HttpApi.csproj
@@ -3,13 +3,13 @@
- netcoreapp3.1
+ net5.0
-
-
+
+
diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application.Contracts/LINGYUN.Abp.SettingManagement.Application.Contracts.csproj b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application.Contracts/LINGYUN.Abp.SettingManagement.Application.Contracts.csproj
index 3f8c62d17..8bc96efef 100644
--- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application.Contracts/LINGYUN.Abp.SettingManagement.Application.Contracts.csproj
+++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application.Contracts/LINGYUN.Abp.SettingManagement.Application.Contracts.csproj
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj
index 7ede35509..26357ff96 100644
--- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj
+++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.HttpApi/LINGYUN.Abp.SettingManagement.HttpApi.csproj b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.HttpApi/LINGYUN.Abp.SettingManagement.HttpApi.csproj
index 00e36bbe8..2eb39fa64 100644
--- a/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.HttpApi/LINGYUN.Abp.SettingManagement.HttpApi.csproj
+++ b/aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.HttpApi/LINGYUN.Abp.SettingManagement.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.DbFinder/LINGYUN.Abp.MultiTenancy.DbFinder.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.DbFinder/LINGYUN.Abp.MultiTenancy.DbFinder.csproj
index 4698a99a4..df8eb2854 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.DbFinder/LINGYUN.Abp.MultiTenancy.DbFinder.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.DbFinder/LINGYUN.Abp.MultiTenancy.DbFinder.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.RemoteService/LINGYUN.Abp.MultiTenancy.RemoteService.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.RemoteService/LINGYUN.Abp.MultiTenancy.RemoteService.csproj
index 7d08e5a7f..51de692af 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.RemoteService/LINGYUN.Abp.MultiTenancy.RemoteService.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.MultiTenancy.RemoteService/LINGYUN.Abp.MultiTenancy.RemoteService.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application.Contracts/LINGYUN.Abp.TenantManagement.Application.Contracts.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application.Contracts/LINGYUN.Abp.TenantManagement.Application.Contracts.csproj
index fa6c9bd6e..2398ffe64 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application.Contracts/LINGYUN.Abp.TenantManagement.Application.Contracts.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application.Contracts/LINGYUN.Abp.TenantManagement.Application.Contracts.csproj
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application/LINGYUN.Abp.TenantManagement.Application.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application/LINGYUN.Abp.TenantManagement.Application.csproj
index ccf3ea883..eaff2bbcf 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application/LINGYUN.Abp.TenantManagement.Application.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.Application/LINGYUN.Abp.TenantManagement.Application.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi.Client/LINGYUN.Abp.TenantManagement.HttpApi.Client.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi.Client/LINGYUN.Abp.TenantManagement.HttpApi.Client.csproj
index b12484add..6783b2313 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi.Client/LINGYUN.Abp.TenantManagement.HttpApi.Client.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi.Client/LINGYUN.Abp.TenantManagement.HttpApi.Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi/LINGYUN.Abp.TenantManagement.HttpApi.csproj b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi/LINGYUN.Abp.TenantManagement.HttpApi.csproj
index 0079567d7..c06cfeac4 100644
--- a/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi/LINGYUN.Abp.TenantManagement.HttpApi.csproj
+++ b/aspnet-core/modules/tenants/LINGYUN.Abp.TenantManagement.HttpApi/LINGYUN.Abp.TenantManagement.HttpApi.csproj
@@ -3,12 +3,12 @@
- netcoreapp3.1
+ net5.0
-
+
diff --git a/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat.SettingManagement/LINGYUN.Abp.WeChat.SettingManagement.csproj b/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat.SettingManagement/LINGYUN.Abp.WeChat.SettingManagement.csproj
index 7276d2b93..1bc2e902a 100644
--- a/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat.SettingManagement/LINGYUN.Abp.WeChat.SettingManagement.csproj
+++ b/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat.SettingManagement/LINGYUN.Abp.WeChat.SettingManagement.csproj
@@ -3,7 +3,7 @@
- netcoreapp3.1
+ net5.0
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat/LINGYUN.Abp.WeChat.csproj b/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat/LINGYUN.Abp.WeChat.csproj
index 353a1ecb7..7ff6878f6 100644
--- a/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat/LINGYUN.Abp.WeChat.csproj
+++ b/aspnet-core/modules/wechat/LINGYUN.Abp.WeChat/LINGYUN.Abp.WeChat.csproj
@@ -18,10 +18,10 @@
-
-
-
-
+
+
+
+
diff --git a/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj b/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
index 6c7f286ae..3a9e3d969 100644
--- a/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
+++ b/aspnet-core/services/account/AuthServer.Host/AuthServer.Host.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.1
+ net5.0
InProcess
AuthServer
@@ -22,33 +22,33 @@
-
-
-
+
+
+
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/services/account/AuthServer.Host/DataSeeder/IdentityServerDataSeedContributor.cs b/aspnet-core/services/account/AuthServer.Host/DataSeeder/IdentityServerDataSeedContributor.cs
index c2c75c5e7..f94c96b0c 100644
--- a/aspnet-core/services/account/AuthServer.Host/DataSeeder/IdentityServerDataSeedContributor.cs
+++ b/aspnet-core/services/account/AuthServer.Host/DataSeeder/IdentityServerDataSeedContributor.cs
@@ -9,10 +9,11 @@ using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
-using Volo.Abp.Identity;
using Volo.Abp.IdentityServer.ApiResources;
+using Volo.Abp.IdentityServer.ApiScopes;
using Volo.Abp.IdentityServer.Clients;
using Volo.Abp.IdentityServer.IdentityResources;
+using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow;
@@ -21,27 +22,30 @@ namespace AuthServer.DataSeeder
public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransientDependency
{
private readonly IApiResourceRepository _apiResourceRepository;
+ private readonly IApiScopeRepository _apiScopeRepository;
private readonly IClientRepository _clientRepository;
private readonly IIdentityResourceDataSeeder _identityResourceDataSeeder;
- private readonly IIdentityClaimTypeRepository _identityClaimTypeRepository;
- private readonly IPermissionDataSeeder _permissionDataSeeder;
private readonly IWeChatResourceDataSeeder _weChatResourceDataSeeder;
private readonly IGuidGenerator _guidGenerator;
+ private readonly IPermissionDataSeeder _permissionDataSeeder;
private readonly IConfiguration _configuration;
+ private readonly ICurrentTenant _currentTenant;
public IdentityServerDataSeedContributor(
IClientRepository clientRepository,
+ IApiScopeRepository apiScopeRepository,
IPermissionDataSeeder permissionDataSeeder,
IApiResourceRepository apiResourceRepository,
IWeChatResourceDataSeeder weChatResourceDataSeeder,
IIdentityResourceDataSeeder identityResourceDataSeeder,
- IIdentityClaimTypeRepository identityClaimTypeRepository,
- IGuidGenerator guidGenerator)
+ IGuidGenerator guidGenerator,
+ ICurrentTenant currentTenant)
{
+ _currentTenant = currentTenant;
_clientRepository = clientRepository;
_permissionDataSeeder = permissionDataSeeder;
+ _apiScopeRepository = apiScopeRepository;
_apiResourceRepository = apiResourceRepository;
- _identityClaimTypeRepository = identityClaimTypeRepository;
_weChatResourceDataSeeder = weChatResourceDataSeeder;
_identityResourceDataSeeder = identityResourceDataSeeder;
_guidGenerator = guidGenerator;
@@ -57,10 +61,14 @@ namespace AuthServer.DataSeeder
[UnitOfWork]
public virtual async Task SeedAsync(DataSeedContext context)
{
- await _identityResourceDataSeeder.CreateStandardResourcesAsync();
- await CreateApiResourcesAsync();
- await CreateClientsAsync();
- await CreateWeChatClaimTypeAsync();
+ using (_currentTenant.Change(context?.TenantId))
+ {
+ await _identityResourceDataSeeder.CreateStandardResourcesAsync();
+ await CreateWeChatClaimTypeAsync();
+ await CreateApiResourcesAsync();
+ await CreateApiScopesAsync();
+ await CreateClientsAsync();
+ }
}
private async Task CreateWeChatClaimTypeAsync()
@@ -68,6 +76,11 @@ namespace AuthServer.DataSeeder
await _weChatResourceDataSeeder.CreateStandardResourcesAsync();
}
+ private async Task CreateApiScopesAsync()
+ {
+ await CreateApiScopeAsync("lingyun-abp-application");
+ }
+
private async Task CreateApiResourcesAsync()
{
var commonApiUserClaims = new[]
@@ -80,13 +93,7 @@ namespace AuthServer.DataSeeder
"role"
};
- await CreateApiResourceAsync("auth-service", commonApiUserClaims);
-
- var apigatewaySecret = new[]
- {
- "defj98734htgrb90365D23"
- };
- await CreateApiResourceAsync("apigateway-service", commonApiUserClaims.Union(new[] { "apigateway-service" }), apigatewaySecret);
+ await CreateApiResourceAsync("lingyun-abp-application", commonApiUserClaims);
}
private async Task CreateApiResourceAsync(string name, IEnumerable claims, IEnumerable secrets = null)
@@ -125,9 +132,28 @@ namespace AuthServer.DataSeeder
return await _apiResourceRepository.UpdateAsync(apiResource);
}
+ private async Task CreateApiScopeAsync(string name)
+ {
+ var apiScope = await _apiScopeRepository.GetByNameAsync(name);
+ if (apiScope == null)
+ {
+ apiScope = await _apiScopeRepository.InsertAsync(
+ new ApiScope(
+ _guidGenerator.Create(),
+ name,
+ name + " API"
+ ),
+ autoSave: true
+ );
+ }
+
+ return apiScope;
+ }
+
private async Task CreateClientsAsync()
{
- const string commonSecret = "E5Xd4yMqjP5kjWFKrYgySBju6JVfCzMyFp7n2QmMrME=";
+
+ string commonSecret = IdentityServer4.Models.HashExtensions.Sha256("1q2w3e*");
var commonScopes = new[]
{
@@ -137,7 +163,8 @@ namespace AuthServer.DataSeeder
"role",
"phone",
"address",
- "offline_access" // 加上刷新
+ "offline_access" // 加上刷新,
+
};
var configurationSection = _configuration.GetSection("IdentityServer:Clients");
@@ -149,7 +176,7 @@ namespace AuthServer.DataSeeder
var webClientRootUrl = configurationSection["AuthManagement:RootUrl"].EnsureEndsWith('/');
await CreateClientAsync(
webClientId,
- commonScopes.Union(new[] { "auth-service" }),
+ commonScopes.Union(new[] { "lingyun-abp-application" }),
new[] { "hybrid" },
commonSecret,
redirectUri: $"{webClientRootUrl}signin-oidc",
@@ -164,7 +191,7 @@ namespace AuthServer.DataSeeder
{
await CreateClientAsync(
consoleClientId,
- commonScopes.Union(new[] { "auth-service", "apigateway-service" }),
+ commonScopes.Union(new[] { "lingyun-abp-application" }),
new[] { "password", "client_credentials" },
commonSecret
);
@@ -183,7 +210,7 @@ namespace AuthServer.DataSeeder
};
await CreateClientAsync(
apigatewayClientId,
- commonScopes.Union(new[] { "apigateway-service" }),
+ commonScopes.Union(new[] { "lingyun-abp-application" }),
new[] { "client_credentials" },
commonSecret,
permissions: apigatewayPermissions
@@ -200,7 +227,7 @@ namespace AuthServer.DataSeeder
};
await CreateClientAsync(
internalServiceClientId,
- commonScopes.Union(new[] { "auth-service" }),
+ commonScopes.Union(new[] { "lingyun-abp-application" }),
new[] { "client_credentials" },
commonSecret,
permissions: internalServicePermissions
@@ -218,7 +245,7 @@ namespace AuthServer.DataSeeder
IEnumerable permissions = null,
string corsOrigins = null)
{
- var client = await _clientRepository.FindByCliendIdAsync(name);
+ var client = await _clientRepository.FindByClientIdAsync(name);
if (client == null)
{
client = await _clientRepository.InsertAsync(
diff --git a/aspnet-core/services/account/AuthServer.Host/EntityFrameworkCore/AuthServerHostMigrationsDbContextFactory.cs b/aspnet-core/services/account/AuthServer.Host/EntityFrameworkCore/AuthServerHostMigrationsDbContextFactory.cs
index 4fee98618..ffe0ce43d 100644
--- a/aspnet-core/services/account/AuthServer.Host/EntityFrameworkCore/AuthServerHostMigrationsDbContextFactory.cs
+++ b/aspnet-core/services/account/AuthServer.Host/EntityFrameworkCore/AuthServerHostMigrationsDbContextFactory.cs
@@ -11,9 +11,10 @@ namespace AuthServer.EntityFrameworkCore
public AuthServerHostMigrationsDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
+ var connectionString = configuration.GetConnectionString("Default");
var builder = new DbContextOptionsBuilder()
- .UseMySql(configuration.GetConnectionString("Default"));
+ .UseMySql(connectionString, ServerVersion.AutoDetect(connectionString));
return new AuthServerHostMigrationsDbContext(builder.Options);
}
@@ -25,7 +26,7 @@ namespace AuthServer.EntityFrameworkCore
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
- .AddJsonFile("appsettings.json", optional: false);
+ .AddJsonFile("appsettings.json", optional: true);
if (File.Exists(envFile))
{
builder.AddJsonFile($"appsettings.{env}.json", optional: false);
diff --git a/aspnet-core/services/account/AuthServer.Host/Migrations/20201222101851_Upgrade-Abp-4.0.0.Designer.cs b/aspnet-core/services/account/AuthServer.Host/Migrations/20201222101851_Upgrade-Abp-4.0.0.Designer.cs
new file mode 100644
index 000000000..456ad8bbb
--- /dev/null
+++ b/aspnet-core/services/account/AuthServer.Host/Migrations/20201222101851_Upgrade-Abp-4.0.0.Designer.cs
@@ -0,0 +1,1770 @@
+//
+using System;
+using AuthServer.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+namespace AuthServer.Host.Migrations
+{
+ [DbContext(typeof(AuthServerHostMigrationsDbContext))]
+ [Migration("20201222101851_Upgrade-Abp-4.0.0")]
+ partial class UpgradeAbp400
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+ .HasAnnotation("Relational:MaxIdentifierLength", 64)
+ .HasAnnotation("ProductVersion", "5.0.0");
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("Description")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsStatic")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("Regex")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512) CHARACTER SET utf8mb4");
+
+ b.Property("RegexDescription")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128) CHARACTER SET utf8mb4");
+
+ b.Property("Required")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ValueType")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("AbpClaimTypes");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("SourceTenantId")
+ .HasColumnType("char(36)");
+
+ b.Property("SourceUserId")
+ .HasColumnType("char(36)");
+
+ b.Property("TargetTenantId")
+ .HasColumnType("char(36)");
+
+ b.Property("TargetUserId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId")
+ .IsUnique();
+
+ b.ToTable("AbpLinkUsers");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDefault")
+ .HasColumnType("tinyint(1)")
+ .HasColumnName("IsDefault");
+
+ b.Property("IsPublic")
+ .HasColumnType("tinyint(1)")
+ .HasColumnName("IsPublic");
+
+ b.Property("IsStatic")
+ .HasColumnType("tinyint(1)")
+ .HasColumnName("IsStatic");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("NormalizedName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedName");
+
+ b.ToTable("AbpRoles");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ClaimType")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("ClaimValue")
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024) CHARACTER SET utf8mb4");
+
+ b.Property("RoleId")
+ .HasColumnType("char(36)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AbpRoleClaims");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("Action")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96) CHARACTER SET utf8mb4");
+
+ b.Property("ApplicationName")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96) CHARACTER SET utf8mb4");
+
+ b.Property("BrowserInfo")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512) CHARACTER SET utf8mb4");
+
+ b.Property("ClientId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("ClientIpAddress")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("Identity")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96) CHARACTER SET utf8mb4");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("TenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.Property("UserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "Action");
+
+ b.HasIndex("TenantId", "ApplicationName");
+
+ b.HasIndex("TenantId", "Identity");
+
+ b.HasIndex("TenantId", "UserId");
+
+ b.ToTable("AbpSecurityLogs");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("AccessFailedCount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0)
+ .HasColumnName("AccessFailedCount");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("Email");
+
+ b.Property("EmailConfirmed")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("EmailConfirmed");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IsExternal")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsExternal");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LockoutEnabled")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("LockoutEnabled");
+
+ b.Property("LockoutEnd")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Name")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4")
+ .HasColumnName("Name");
+
+ b.Property("NormalizedEmail")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("NormalizedEmail");
+
+ b.Property("NormalizedUserName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("NormalizedUserName");
+
+ b.Property("PasswordHash")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("PasswordHash");
+
+ b.Property("PhoneNumber")
+ .HasMaxLength(16)
+ .HasColumnType("varchar(16) CHARACTER SET utf8mb4")
+ .HasColumnName("PhoneNumber");
+
+ b.Property("PhoneNumberConfirmed")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("PhoneNumberConfirmed");
+
+ b.Property("SecurityStamp")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("SecurityStamp");
+
+ b.Property("Surname")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4")
+ .HasColumnName("Surname");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("TwoFactorEnabled")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("TwoFactorEnabled");
+
+ b.Property("UserName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4")
+ .HasColumnName("UserName");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Email");
+
+ b.HasIndex("NormalizedEmail");
+
+ b.HasIndex("NormalizedUserName");
+
+ b.HasIndex("UserName");
+
+ b.ToTable("AbpUsers");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ClaimType")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256) CHARACTER SET utf8mb4");
+
+ b.Property("ClaimValue")
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024) CHARACTER SET utf8mb4");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AbpUserClaims");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.Property("LoginProvider")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("ProviderDisplayName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128) CHARACTER SET utf8mb4");
+
+ b.Property("ProviderKey")
+ .IsRequired()
+ .HasMaxLength(196)
+ .HasColumnType("varchar(196) CHARACTER SET utf8mb4");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("UserId", "LoginProvider");
+
+ b.HasIndex("LoginProvider", "ProviderKey");
+
+ b.ToTable("AbpUserLogins");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b =>
+ {
+ b.Property("OrganizationUnitId")
+ .HasColumnType("char(36)");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("OrganizationUnitId", "UserId");
+
+ b.HasIndex("UserId", "OrganizationUnitId");
+
+ b.ToTable("AbpUserOrganizationUnits");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.Property("RoleId")
+ .HasColumnType("char(36)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasIndex("RoleId", "UserId");
+
+ b.ToTable("AbpUserRoles");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("char(36)");
+
+ b.Property("LoginProvider")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+
+ b.Property("Name")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128) CHARACTER SET utf8mb4");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("Value")
+ .HasColumnType("longtext CHARACTER SET utf8mb4");
+
+ b.HasKey("UserId", "LoginProvider", "Name");
+
+ b.ToTable("AbpUserTokens");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(95)
+ .HasColumnType("varchar(95) CHARACTER SET utf8mb4")
+ .HasColumnName("Code");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128) CHARACTER SET utf8mb4")
+ .HasColumnName("DisplayName");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("ParentId")
+ .HasColumnType("char(36)");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Code");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("AbpOrganizationUnits");
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b =>
+ {
+ b.Property("OrganizationUnitId")
+ .HasColumnType("char(36)");
+
+ b.Property("RoleId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("OrganizationUnitId", "RoleId");
+
+ b.HasIndex("RoleId", "OrganizationUnitId");
+
+ b.ToTable("AbpOrganizationUnitRoles");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("AllowedAccessTokenSigningAlgorithms")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100) CHARACTER SET utf8mb4");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000) CHARACTER SET utf8mb4");
+
+ b.Property("DisplayName")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("Enabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("ShowInDiscoveryDocument")
+ .HasColumnType("tinyint(1)");
+
+ b.HasKey("Id");
+
+ b.ToTable("IdentityServerApiResources");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b =>
+ {
+ b.Property("ApiResourceId")
+ .HasColumnType("char(36)");
+
+ b.Property("Type")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.HasKey("ApiResourceId", "Type");
+
+ b.ToTable("IdentityServerApiResourceClaims");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b =>
+ {
+ b.Property("ApiResourceId")
+ .HasColumnType("char(36)");
+
+ b.Property("Key")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.Property("Value")
+ .HasMaxLength(300)
+ .HasColumnType("varchar(300) CHARACTER SET utf8mb4");
+
+ b.HasKey("ApiResourceId", "Key", "Value");
+
+ b.ToTable("IdentityServerApiResourceProperties");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b =>
+ {
+ b.Property("ApiResourceId")
+ .HasColumnType("char(36)");
+
+ b.Property("Scope")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.HasKey("ApiResourceId", "Scope");
+
+ b.ToTable("IdentityServerApiResourceScopes");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b =>
+ {
+ b.Property("ApiResourceId")
+ .HasColumnType("char(36)");
+
+ b.Property("Type")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.Property("Value")
+ .HasMaxLength(300)
+ .HasColumnType("varchar(300) CHARACTER SET utf8mb4");
+
+ b.Property("Description")
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000) CHARACTER SET utf8mb4");
+
+ b.Property("Expiration")
+ .HasColumnType("datetime(6)");
+
+ b.HasKey("ApiResourceId", "Type", "Value");
+
+ b.ToTable("IdentityServerApiResourceSecrets");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000) CHARACTER SET utf8mb4");
+
+ b.Property("DisplayName")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("Emphasize")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Enabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("Required")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ShowInDiscoveryDocument")
+ .HasColumnType("tinyint(1)");
+
+ b.HasKey("Id");
+
+ b.ToTable("IdentityServerApiScopes");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b =>
+ {
+ b.Property("ApiScopeId")
+ .HasColumnType("char(36)");
+
+ b.Property("Type")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.HasKey("ApiScopeId", "Type");
+
+ b.ToTable("IdentityServerApiScopeClaims");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b =>
+ {
+ b.Property("ApiScopeId")
+ .HasColumnType("char(36)");
+
+ b.Property("Key")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.Property("Value")
+ .HasMaxLength(300)
+ .HasColumnType("varchar(300) CHARACTER SET utf8mb4");
+
+ b.HasKey("ApiScopeId", "Key", "Value");
+
+ b.ToTable("IdentityServerApiScopeProperties");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("AbsoluteRefreshTokenLifetime")
+ .HasColumnType("int");
+
+ b.Property("AccessTokenLifetime")
+ .HasColumnType("int");
+
+ b.Property("AccessTokenType")
+ .HasColumnType("int");
+
+ b.Property("AllowAccessTokensViaBrowser")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowOfflineAccess")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowPlainTextPkce")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowRememberConsent")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AllowedIdentityTokenSigningAlgorithms")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100) CHARACTER SET utf8mb4");
+
+ b.Property("AlwaysIncludeUserClaimsInIdToken")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AlwaysSendClientClaims")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("AuthorizationCodeLifetime")
+ .HasColumnType("int");
+
+ b.Property("BackChannelLogoutSessionRequired")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("BackChannelLogoutUri")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000) CHARACTER SET utf8mb4");
+
+ b.Property("ClientClaimsPrefix")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("ClientId")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("ClientName")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("ClientUri")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000) CHARACTER SET utf8mb4");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ConsentLifetime")
+ .HasColumnType("int");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000) CHARACTER SET utf8mb4");
+
+ b.Property("DeviceCodeLifetime")
+ .HasColumnType("int");
+
+ b.Property("EnableLocalLogin")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Enabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("FrontChannelLogoutSessionRequired")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("FrontChannelLogoutUri")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000) CHARACTER SET utf8mb4");
+
+ b.Property("IdentityTokenLifetime")
+ .HasColumnType("int");
+
+ b.Property("IncludeJwtId")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LogoUri")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000) CHARACTER SET utf8mb4");
+
+ b.Property("PairWiseSubjectSalt")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("ProtocolType")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.Property("RefreshTokenExpiration")
+ .HasColumnType("int");
+
+ b.Property("RefreshTokenUsage")
+ .HasColumnType("int");
+
+ b.Property("RequireClientSecret")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("RequireConsent")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("RequirePkce")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("RequireRequestObject")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("SlidingRefreshTokenLifetime")
+ .HasColumnType("int");
+
+ b.Property("UpdateAccessTokenClaimsOnRefresh")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("UserCodeType")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100) CHARACTER SET utf8mb4");
+
+ b.Property("UserSsoLifetime")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("IdentityServerClients");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("Type")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.Property("Value")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "Type", "Value");
+
+ b.ToTable("IdentityServerClientClaims");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("Origin")
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "Origin");
+
+ b.ToTable("IdentityServerClientCorsOrigins");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("GrantType")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "GrantType");
+
+ b.ToTable("IdentityServerClientGrantTypes");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("Provider")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "Provider");
+
+ b.ToTable("IdentityServerClientIdPRestrictions");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("PostLogoutRedirectUri")
+ .HasMaxLength(300)
+ .HasColumnType("varchar(300) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "PostLogoutRedirectUri");
+
+ b.ToTable("IdentityServerClientPostLogoutRedirectUris");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b =>
+ {
+ b.Property("ClientId")
+ .HasColumnType("char(36)");
+
+ b.Property("Key")
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250) CHARACTER SET utf8mb4");
+
+ b.Property("Value")
+ .HasMaxLength(300)
+ .HasColumnType("varchar(300) CHARACTER SET utf8mb4");
+
+ b.HasKey("ClientId", "Key", "Value");
+
+ b.ToTable("IdentityServerClientProperties");
+ });
+
+ modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b =>
+ {
+ b.Property