diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs index ea477f2bec..04bdb8d6b9 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/Client.cs @@ -173,6 +173,11 @@ namespace Volo.Abp.IdentityServer.Clients AllowedScopes.Add(new ClientScope(Id, scope)); } + public virtual void RemoveAllScopes() + { + AllowedScopes.Clear(); + } + public virtual void AddCorsOrigin([NotNull] string origin) { AllowedCorsOrigins.Add(new ClientCorsOrigin(Id, origin)); diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs index 7e73c986cc..ff0cb8bb25 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs @@ -80,6 +80,13 @@ namespace Volo.Abp.IdentityServer.Clients DbContext.Set().Remove(clientProperty); } + var scopes = DbContext.Set().Where(s => s.ClientId == entity.Id); + + foreach (var scope in scopes) + { + DbContext.Set().Remove(scope); + } + return await base.UpdateAsync(entity, autoSave, cancellationToken); }