|
|
|
@ -23,7 +23,7 @@ namespace Volo.Abp.IdentityServer.Clients
|
|
|
|
|
bool includeDetails = true,
|
|
|
|
|
CancellationToken cancellationToken = default)
|
|
|
|
|
{
|
|
|
|
|
return await DbSet
|
|
|
|
|
return await (await GetDbSetAsync())
|
|
|
|
|
.IncludeDetails(includeDetails)
|
|
|
|
|
.OrderBy(x => x.ClientId)
|
|
|
|
|
.FirstOrDefaultAsync(x => x.ClientId == clientId, GetCancellationToken(cancellationToken));
|
|
|
|
@ -33,7 +33,7 @@ namespace Volo.Abp.IdentityServer.Clients
|
|
|
|
|
string sorting, int skipCount, int maxResultCount, string filter, bool includeDetails = false,
|
|
|
|
|
CancellationToken cancellationToken = default)
|
|
|
|
|
{
|
|
|
|
|
return await DbSet
|
|
|
|
|
return await (await GetDbSetAsync())
|
|
|
|
|
.IncludeDetails(includeDetails)
|
|
|
|
|
.WhereIf(!filter.IsNullOrWhiteSpace(), x => x.ClientId.Contains(filter))
|
|
|
|
|
.OrderBy(sorting ?? nameof(Client.ClientName) + " desc")
|
|
|
|
@ -43,7 +43,7 @@ namespace Volo.Abp.IdentityServer.Clients
|
|
|
|
|
|
|
|
|
|
public virtual async Task<List<string>> GetAllDistinctAllowedCorsOriginsAsync(CancellationToken cancellationToken = default)
|
|
|
|
|
{
|
|
|
|
|
return await DbContext.ClientCorsOrigins
|
|
|
|
|
return await (await GetDbContextAsync()).ClientCorsOrigins
|
|
|
|
|
.Select(x => x.Origin)
|
|
|
|
|
.Distinct()
|
|
|
|
|
.ToListAsync(GetCancellationToken(cancellationToken));
|
|
|
|
@ -51,62 +51,70 @@ namespace Volo.Abp.IdentityServer.Clients
|
|
|
|
|
|
|
|
|
|
public virtual async Task<bool> CheckClientIdExistAsync(string clientId, Guid? expectedId = null, CancellationToken cancellationToken = default)
|
|
|
|
|
{
|
|
|
|
|
return await DbSet.AnyAsync(c => c.Id != expectedId && c.ClientId == clientId, cancellationToken: cancellationToken);
|
|
|
|
|
return await (await GetDbSetAsync()).AnyAsync(c => c.Id != expectedId && c.ClientId == clientId, cancellationToken: cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async override Task DeleteAsync(Guid id, bool autoSave = false, CancellationToken cancellationToken = default)
|
|
|
|
|
{
|
|
|
|
|
foreach (var clientGrantType in DbContext.Set<ClientGrantType>().Where(x => x.ClientId == id))
|
|
|
|
|
var dbContext = await GetDbContextAsync();
|
|
|
|
|
|
|
|
|
|
foreach (var clientGrantType in dbContext.Set<ClientGrantType>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientGrantType>().Remove(clientGrantType);
|
|
|
|
|
dbContext.Set<ClientGrantType>().Remove(clientGrantType);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientRedirectUri in DbContext.Set<ClientRedirectUri>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientRedirectUri in dbContext.Set<ClientRedirectUri>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientRedirectUri>().Remove(clientRedirectUri);
|
|
|
|
|
dbContext.Set<ClientRedirectUri>().Remove(clientRedirectUri);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientPostLogoutRedirectUri in DbContext.Set<ClientPostLogoutRedirectUri>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientPostLogoutRedirectUri in dbContext.Set<ClientPostLogoutRedirectUri>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientPostLogoutRedirectUri>().Remove(clientPostLogoutRedirectUri);
|
|
|
|
|
dbContext.Set<ClientPostLogoutRedirectUri>().Remove(clientPostLogoutRedirectUri);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientScope in DbContext.Set<ClientScope>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientScope in dbContext.Set<ClientScope>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientScope>().Remove(clientScope);
|
|
|
|
|
dbContext.Set<ClientScope>().Remove(clientScope);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientSecret in DbContext.Set<ClientSecret>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientSecret in dbContext.Set<ClientSecret>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientSecret>().Remove(clientSecret);
|
|
|
|
|
dbContext.Set<ClientSecret>().Remove(clientSecret);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientClaim in DbContext.Set<ClientClaim>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientClaim in dbContext.Set<ClientClaim>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientClaim>().Remove(clientClaim);
|
|
|
|
|
dbContext.Set<ClientClaim>().Remove(clientClaim);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientIdPRestriction in DbContext.Set<ClientIdPRestriction>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientIdPRestriction in dbContext.Set<ClientIdPRestriction>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientIdPRestriction>().Remove(clientIdPRestriction);
|
|
|
|
|
dbContext.Set<ClientIdPRestriction>().Remove(clientIdPRestriction);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientCorsOrigin in DbContext.Set<ClientCorsOrigin>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientCorsOrigin in dbContext.Set<ClientCorsOrigin>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientCorsOrigin>().Remove(clientCorsOrigin);
|
|
|
|
|
dbContext.Set<ClientCorsOrigin>().Remove(clientCorsOrigin);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var clientProperty in DbContext.Set<ClientProperty>().Where(x => x.ClientId == id))
|
|
|
|
|
foreach (var clientProperty in dbContext.Set<ClientProperty>().Where(x => x.ClientId == id))
|
|
|
|
|
{
|
|
|
|
|
DbContext.Set<ClientProperty>().Remove(clientProperty);
|
|
|
|
|
dbContext.Set<ClientProperty>().Remove(clientProperty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await base.DeleteAsync(id, autoSave, cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Obsolete("Use WithDetailsAsync method.")]
|
|
|
|
|
public override IQueryable<Client> WithDetails()
|
|
|
|
|
{
|
|
|
|
|
return GetQueryable().IncludeDetails();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override async Task<IQueryable<Client>> WithDetailsAsync()
|
|
|
|
|
{
|
|
|
|
|
return (await GetQueryableAsync()).IncludeDetails();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|