/// <summary> /// Gets API resources by API resource name. /// </summary> public virtual async Task <IEnumerable <IdentityServer4.Models.ApiResource> > FindApiResourcesByNameAsync(IEnumerable <string> apiResourceNames) { return(await GetCacheItemsAsync( ApiResourceCache, apiResourceNames, async keys => await ApiResourceRepository.FindByNameAsync(keys, includeDetails: true), (models, cacheKeyPrefix) => new List <IEnumerable <KeyValuePair <string, IdentityServer4.Models.ApiResource> > > { models.Select(x => new KeyValuePair <string, IdentityServer4.Models.ApiResource>(AddCachePrefix(x.Name, cacheKeyPrefix), x)) }, ApiResourceNameCacheKeyPrefix)); }
public virtual async Task <Resources> GetAllResourcesAsync() { var identityResources = await IdentityResourceRepository.GetListAsync(includeDetails : true); var apiResources = await ApiResourceRepository.GetListAsync(includeDetails : true); return(new Resources( ObjectMapper.Map <List <IdentityResource>, IdentityServer4.Models.IdentityResource[]>(identityResources), ObjectMapper.Map <List <ApiResources.ApiResource>, ApiResource[]>(apiResources) )); }
/// <summary> /// Gets API resources by scope name. /// </summary> public virtual async Task <IEnumerable <IdentityServer4.Models.ApiResource> > FindApiResourcesByScopeNameAsync(IEnumerable <string> scopeNames) { return(await GetCacheItemsAsync <ApiResource, IdentityServer4.Models.ApiResource>( ApiResourceCache, scopeNames, async keys => await ApiResourceRepository.GetListByScopesAsync(keys, includeDetails: true), (models, cacheKeyPrefix) => { return models .Select(model => model.Scopes.Select(scope => new KeyValuePair <string, IdentityServer4.Models.ApiResource>(AddCachePrefix(scope, cacheKeyPrefix), model)).ToList()) .Where(scopes => scopes.Any()).Cast <IEnumerable <KeyValuePair <string, IdentityServer4.Models.ApiResource> > >().ToList(); }, ApiResourceScopeNameCacheKeyPrefix)); }
/// <summary> /// Gets all resources. /// </summary> public virtual async Task <IdentityServer4.Models.Resources> GetAllResourcesAsync() { return(await ResourcesCache.GetOrAddAsync(AllResourcesKey, async() => { var identityResources = await IdentityResourceRepository.GetListAsync(includeDetails: true); var apiResources = await ApiResourceRepository.GetListAsync(includeDetails: true); var apiScopes = await ApiScopeRepository.GetListAsync(includeDetails: true); return new Resources( ObjectMapper.Map <List <Volo.Abp.IdentityServer.IdentityResources.IdentityResource>, List <IdentityServer4.Models.IdentityResource> >(identityResources), ObjectMapper.Map <List <Volo.Abp.IdentityServer.ApiResources.ApiResource>, List <IdentityServer4.Models.ApiResource> >(apiResources), ObjectMapper.Map <List <Volo.Abp.IdentityServer.ApiScopes.ApiScope>, List <IdentityServer4.Models.ApiScope> >(apiScopes)); }, () => new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = Options.Caching.ClientStoreExpiration })); }
public virtual async Task <ApiResource> FindApiResourceAsync(string name) { var resource = await ApiResourceRepository.FindByNameAsync(name); return(ObjectMapper.Map <ApiResources.ApiResource, ApiResource>(resource)); }
public virtual async Task <IEnumerable <ApiResource> > FindApiResourcesByScopeAsync(IEnumerable <string> scopeNames) { var resources = await ApiResourceRepository.GetListByScopesAsync(scopeNames.ToArray(), includeDetails : true); return(resources.Select(x => ObjectMapper.Map <ApiResources.ApiResource, ApiResource>(x))); }
/// <summary> /// Gets API resources by API resource name. /// </summary> public virtual async Task <IEnumerable <IdentityServer4.Models.ApiResource> > FindApiResourcesByNameAsync(IEnumerable <string> apiResourceNames) { var resources = await ApiResourceRepository.FindByNameAsync(apiResourceNames.ToArray(), includeDetails : true); return(ObjectMapper.Map <List <Volo.Abp.IdentityServer.ApiResources.ApiResource>, List <IdentityServer4.Models.ApiResource> >(resources)); }