|
|
|
@ -4,16 +4,18 @@ using System.Threading.Tasks; |
|
|
|
using IdentityServer4.Models; |
|
|
|
using IdentityServer4.Stores; |
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
using Volo.Abp.IdentityServer.IdentityResources; |
|
|
|
using Volo.Abp.ObjectMapping; |
|
|
|
using IdentityResource = Volo.Abp.IdentityServer.IdentityResources.IdentityResource; |
|
|
|
|
|
|
|
namespace Volo.Abp.IdentityServer.IdentityResources |
|
|
|
namespace Volo.Abp.IdentityServer |
|
|
|
{ |
|
|
|
public class IdentityResourceStore : IResourceStore, ITransientDependency |
|
|
|
public class ResourceStore : IResourceStore, ITransientDependency |
|
|
|
{ |
|
|
|
private readonly IIdentityResourceRepository _identityResourceRepository; |
|
|
|
private readonly IObjectMapper _objectMapper; |
|
|
|
|
|
|
|
public IdentityResourceStore(IIdentityResourceRepository identityResourceRepository, IObjectMapper objectMapper) |
|
|
|
public ResourceStore(IIdentityResourceRepository identityResourceRepository, IObjectMapper objectMapper) |
|
|
|
{ |
|
|
|
_identityResourceRepository = identityResourceRepository; |
|
|
|
_objectMapper = objectMapper; |
|
|
|
@ -21,29 +23,29 @@ namespace Volo.Abp.IdentityServer.IdentityResources |
|
|
|
|
|
|
|
public virtual async Task<IEnumerable<IdentityServer4.Models.IdentityResource>> FindIdentityResourcesByScopeAsync(IEnumerable<string> scopeNames) |
|
|
|
{ |
|
|
|
var results = await _identityResourceRepository.FindIdentityResourcesByScopeAsync(scopeNames.ToArray()); |
|
|
|
return _objectMapper.Map<List<IdentityResource>, List<IdentityServer4.Models.IdentityResource>>(results); |
|
|
|
var resource = await _identityResourceRepository.FindIdentityResourcesByScopeAsync(scopeNames.ToArray()); |
|
|
|
return _objectMapper.Map<List<IdentityResource>, List<IdentityServer4.Models.IdentityResource>>(resource); |
|
|
|
} |
|
|
|
|
|
|
|
public virtual async Task<IEnumerable<ApiResource>> FindApiResourcesByScopeAsync(IEnumerable<string> scopeNames) |
|
|
|
{ |
|
|
|
var results = await _identityResourceRepository.FindApiResourcesByScopeAsync(scopeNames.ToArray()); |
|
|
|
return results?.Select(x => _objectMapper.Map<ApiResources.ApiResource, ApiResource>(x)); |
|
|
|
var resources = await _identityResourceRepository.FindApiResourcesByScopeAsync(scopeNames.ToArray()); |
|
|
|
return resources?.Select(x => _objectMapper.Map<ApiResources.ApiResource, ApiResource>(x)); |
|
|
|
} |
|
|
|
|
|
|
|
public virtual async Task<ApiResource> FindApiResourceAsync(string name) |
|
|
|
{ |
|
|
|
var result = await _identityResourceRepository.FindApiResourceAsync(name); |
|
|
|
return _objectMapper.Map<ApiResources.ApiResource, ApiResource>(result); |
|
|
|
var resource = await _identityResourceRepository.FindApiResourceAsync(name); |
|
|
|
return _objectMapper.Map<ApiResources.ApiResource, ApiResource>(resource); |
|
|
|
} |
|
|
|
|
|
|
|
public virtual async Task<Resources> GetAllResourcesAsync() |
|
|
|
{ |
|
|
|
var result = await _identityResourceRepository.GetAllResourcesAsync(); |
|
|
|
var resources = await _identityResourceRepository.GetAllResourcesAsync(); |
|
|
|
|
|
|
|
return new Resources( |
|
|
|
_objectMapper.Map<IdentityResource[], IdentityServer4.Models.IdentityResource[]>(result.IdentityResources), |
|
|
|
_objectMapper.Map<ApiResources.ApiResource[], ApiResource[]>(result.ApiResources) |
|
|
|
_objectMapper.Map<IdentityResource[], IdentityServer4.Models.IdentityResource[]>(resources.IdentityResources), |
|
|
|
_objectMapper.Map<ApiResources.ApiResource[], ApiResource[]>(resources.ApiResources) |
|
|
|
); |
|
|
|
} |
|
|
|
} |