diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs index 06c4d62c0e..fef31bdec5 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/ApiResources/ApiResource.cs @@ -79,6 +79,11 @@ namespace Volo.Abp.IdentityServer.ApiResources UserClaims.Clear(); } + public virtual void RemoveAllSecrets() + { + Secrets.Clear(); + } + public virtual void RemoveAllScopes() { foreach (var scope in Scopes) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/ApiResources/ApiResourceRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/ApiResources/ApiResourceRepository.cs index 9976f1def2..1234141229 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/ApiResources/ApiResourceRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/ApiResources/ApiResourceRepository.cs @@ -82,6 +82,13 @@ namespace Volo.Abp.IdentityServer.ApiResources DbContext.Set().Remove(scope); } + var secrets = DbContext.Set().Where(s => s.ApiResourceId == entity.Id); + + foreach (var secret in secrets) + { + DbContext.Set().Remove(secret); + } + return await base.UpdateAsync(entity, autoSave, cancellationToken); }