コード例 #1
0
        /// <summary>
        /// Return clients
        /// </summary>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnClientsAync(AdminApi.V1.Dtos.DataSourceRequest request)
        {
            var resultData = new List <ClientDto>();
            var result     = this._configContext.Clients.Include(a => a.AllowedGrantTypes).ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter);

            foreach (var dataObject in result.Data)
            {
                resultData.Add(ClientDto.ToDto(dataObject as IdentityServer4.EntityFramework.Entities.Client));
            }

            result.Data = resultData;
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// Return users.
        /// </summary>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public Kendo.DynamicLinq.DataSourceResult ReturnUsers(AdminApi.V1.Dtos.DataSourceRequest request)
        {
            var returnedResults = this._userManager.Users.ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter);

            var results = new List <UserDto>();

            foreach (var user in returnedResults.Data)
            {
                results.Add(new UserDto(user as ApplicationUser));
            }

            returnedResults.Data = results;

            return(returnedResults);
        }
コード例 #3
0
        /// <summary>
        /// Return Api Resources
        /// </summary>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public Kendo.DynamicLinq.DataSourceResult ReturnApiResources(AdminApi.V1.Dtos.DataSourceRequest request)
        {
            var result = this._configContext.ApiResources.ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter);

            var apiResults = new List <ApiResource>();

            foreach (var data in result.Data)
            {
                var apiResource = data as IdentityServer4.EntityFramework.Entities.ApiResource;
                apiResults.Add(apiResource.ToModel());
            }

            result.Data = apiResults;
            return(result);
        }
コード例 #4
0
        /// <summary>
        /// Return Identity Resources
        /// </summary>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public Kendo.DynamicLinq.DataSourceResult ReturnIdentityResources(AdminApi.V1.Dtos.DataSourceRequest request)
        {
            var returnedResults = this._configContext.IdentityResources.ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter);

            var results = new List <IdentityResource>();

            foreach (var result in returnedResults.Data)
            {
                results.Add((result as IdentityServer4.EntityFramework.Entities.IdentityResource).ToModel());
            }

            returnedResults.Data = results;

            return(returnedResults);
        }
コード例 #5
0
 /// <summary>
 /// Return Roles
 /// </summary>
 /// <returns>
 /// The <see cref="Task"/>.
 /// </returns>
 public Kendo.DynamicLinq.DataSourceResult ReturnRoles(AdminApi.V1.Dtos.DataSourceRequest request)
 {
     return(this._roleManager.Roles.ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
 }
コード例 #6
0
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnClaimsForUserAsync(AdminApi.V1.Dtos.DataSourceRequest request, ApplicationUser user)
        {
            var claims = await this._userManager.GetClaimsAsync(user) as List <Claim>;

            var results = new List <ClaimDto>();

            foreach (var resultClaim in claims)
            {
                results.Add(new ClaimDto(resultClaim));
            }

            return(results.AsQueryable().ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
        }
コード例 #7
0
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnClientSecretsAsync(AdminApi.V1.Dtos.DataSourceRequest request, int clientId)
        {
            var client = await this._configContext.Clients
                         .Include(i => i.ClientSecrets)
                         .FirstOrDefaultAsync(i => i.Id == clientId);

            if (client != null)
            {
                List <ClientSecretDto> results = new List <ClientSecretDto>();

                foreach (var secret in client.ClientSecrets)
                {
                    results.Add(new ClientSecretDto
                    {
                        Id          = secret.Id,
                        ClientId    = client.Id,
                        Description = secret.Description,
                        Value       = $"************{secret.Value.Remove(0, secret.Value.Length - 6)}",
                        Expiration  = secret.Expiration,
                        Type        = secret.Type,
                        Created     = secret.Created
                    });
                }


                return(results.AsQueryable().ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
            }

            return(null);
        }
コード例 #8
0
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnClientCorsUrisAsync(AdminApi.V1.Dtos.DataSourceRequest request, int clientId)
        {
            var client = await this._configContext.Clients
                         .Include(i => i.AllowedCorsOrigins)
                         .FirstOrDefaultAsync(i => i.Id == clientId);

            if (client != null)
            {
                List <ClientAllowedCorsUrlDto> results = new List <ClientAllowedCorsUrlDto>();

                foreach (var allowedCorsOriginUri in client.AllowedCorsOrigins)
                {
                    results.Add(new ClientAllowedCorsUrlDto
                    {
                        Id       = allowedCorsOriginUri.Id,
                        Origin   = allowedCorsOriginUri.Origin,
                        ClientId = client.Id
                    });
                }

                return(results.AsQueryable().ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
            }

            return(null);
        }
コード例 #9
0
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnScopesToAddForClient(AdminApi.V1.Dtos.DataSourceRequest request, int clientId)
        {
            var resultStrings = new List <string>();

            var apiResources = await this._configContext.ApiResources.ToListAsync();

            var identityResource = await this._configContext.IdentityResources.ToListAsync();

            resultStrings.AddRange(apiResources.Select(a => a.Name));
            resultStrings.AddRange(identityResource.Select(i => i.Name));
            resultStrings = resultStrings.Distinct().ToList();

            var client = await this._configContext.Clients.Include(c => c.AllowedScopes).FirstOrDefaultAsync(c => c.Id == clientId);

            var currentScopes = client.AllowedScopes.Select(a => a.Scope);

            foreach (var scope in currentScopes)
            {
                resultStrings.Remove(scope);
            }

            var result = new List <ToAddDto>();

            foreach (var scope in resultStrings)
            {
                result.Add(new ToAddDto {
                    Name = scope
                });
            }

            return(result.AsQueryable().ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
        }
コード例 #10
0
        public async Task <Kendo.DynamicLinq.DataSourceResult> ReturnApiResourceClaimsAsync(AdminApi.V1.Dtos.DataSourceRequest request, string name)
        {
            var resultIdentityResource = await this._configContext.ApiResources.Include(i => i.UserClaims).FirstOrDefaultAsync(i => i.Name.ToLower() == name.ToLower());

            if (resultIdentityResource != null)
            {
                List <ApiClaimDto> results = new List <ApiClaimDto>();

                foreach (var claim in resultIdentityResource.UserClaims)
                {
                    results.Add(new ApiClaimDto
                    {
                        Id           = claim.Id,
                        Type         = claim.Type,
                        ApiClaimName = resultIdentityResource.Name
                    });
                }

                return(results.AsQueryable().ToDataSourceResult(request.PageSize, request.Take, request.Sort, request.Filter));
            }

            return(null);
        }