public async Task <ResultModel> CreateIdentityResource(IdentityResourceCreateDto identityResourceCreateDto)
        {
            try
            {
                var identityResource = new IdentityResource();
                identityResource.Created                 = DateTime.Now;
                identityResource.Enabled                 = identityResourceCreateDto.Enabled;
                identityResource.Name                    = identityResourceCreateDto.Name;
                identityResource.DisplayName             = identityResourceCreateDto.DisplayName;
                identityResource.Required                = identityResourceCreateDto.Required;
                identityResource.Emphasize               = identityResourceCreateDto.Emphasize;
                identityResource.ShowInDiscoveryDocument = identityResourceCreateDto.ShowInDiscoveryDocument;
                identityResource.NonEditable             = identityResourceCreateDto.NonEditable;

                List <IdentityResourceClaim> identityResourceClaims = new List <IdentityResourceClaim>();
                foreach (var item in identityResourceCreateDto.UserClaims)
                {
                    identityResourceClaims.Add(new IdentityResourceClaim
                    {
                        Type = item.Type
                    });
                }
                identityResource.UserClaims = identityResourceClaims;

                List <IdentityResourceProperty> identityResourceProperties = new List <IdentityResourceProperty>();
                foreach (var item in identityResourceCreateDto.Properties)
                {
                    identityResourceProperties.Add(new IdentityResourceProperty
                    {
                        Key   = item.Key,
                        Value = item.Value,
                    });
                }
                identityResource.Properties = identityResourceProperties;

                _userDatabaseContext.IdentityResources.Add(identityResource);
                await _userDatabaseContext.SaveChangesAsync();

                return(new ResultModel(ResultCode.Success, "创建认证资源成功"));
            }
            catch (Exception ex)
            {
                return(new ResultModel(ResultCode.Fail, ex.Message));
            }
        }
Exemplo n.º 2
0
 public async Task <IActionResult> CreateIdentityResource([FromBody] IdentityResourceCreateDto dto)
 {
     return(Json(await _identityResourceService.CreateIdentityResource(dto)));
 }