public async Task <bool> Execute(UpdateClientParameter updateClientParameter) { if (updateClientParameter == null) { throw new ArgumentNullException(nameof(updateClientParameter)); } var existedClient = await _clientRepository.GetClientByIdAsync(updateClientParameter.ClientId); if (existedClient == null) { throw new IdentityServerManagerException(ErrorCodes.InvalidParameterCode, string.Format(ErrorDescriptions.TheClientDoesntExist, updateClientParameter.ClientId)); } SimpleIdentityServer.Core.Models.Client client = null; try { client = _generateClientFromRegistrationRequest.Execute(updateClientParameter); } catch (IdentityServerException ex) { throw new IdentityServerManagerException(ex.Code, ex.Message); } client.ClientId = existedClient.ClientId; client.AllowedScopes = updateClientParameter.AllowedScopes == null ? new List <Scope>() : updateClientParameter.AllowedScopes.Select(s => new Scope { Name = s }).ToList(); return(await _clientRepository.UpdateAsync(client)); }
public static ClientInformationResponse ToDto(this SimpleIdentityServer.Core.Models.Client client) { return(new ClientInformationResponse { ClientId = client.ClientId, ClientName = client.ClientName, LogoUri = client.LogoUri }); }
public static ClientResponse ToClientResponseDto(this SimpleIdentityServer.Core.Models.Client client) { IEnumerable <ResponseClientSecret> secrets = null; if (client.Secrets != null) { secrets = client.Secrets.Select(s => s.ToDto()); } return(new ClientResponse { AllowedScopes = client.AllowedScopes == null ? new List <string>() : client.AllowedScopes.Select(c => c.Name).ToList(), ApplicationType = Enum.GetName(typeof(ApplicationTypes), client.ApplicationType), ClientId = client.ClientId, ClientName = client.ClientName, Secrets = secrets, ClientUri = client.ClientUri, Contacts = client.Contacts, DefaultAcrValues = client.DefaultAcrValues, DefaultMaxAge = client.DefaultMaxAge, GrantTypes = client.GrantTypes == null ? new List <string>() : client.GrantTypes.Select(g => Enum.GetName(typeof(GrantType), g)).ToList(), IdTokenEncryptedResponseAlg = client.IdTokenEncryptedResponseAlg, IdTokenEncryptedResponseEnc = client.IdTokenEncryptedResponseEnc, IdTokenSignedResponseAlg = client.IdTokenSignedResponseAlg, InitiateLoginUri = client.InitiateLoginUri, JsonWebKeys = client.JsonWebKeys, JwksUri = client.JwksUri, LogoUri = client.LogoUri, PolicyUri = client.PolicyUri, RedirectUris = client.RedirectionUrls, RequestObjectEncryptionAlg = client.RequestObjectEncryptionAlg, RequestObjectEncryptionEnc = client.RequestObjectEncryptionEnc, RequestObjectSigningAlg = client.RequestObjectSigningAlg, RequestUris = client.RequestUris, RequireAuthTime = client.RequireAuthTime, ResponseTypes = client.ResponseTypes == null ? new List <string>() : client.ResponseTypes.Select(g => Enum.GetName(typeof(ResponseType), g)).ToList(), SectorIdentifierUri = client.SectorIdentifierUri, SubjectType = client.SubjectType, TokenEndPointAuthMethod = Enum.GetName(typeof(TokenEndPointAuthenticationMethods), client.TokenEndPointAuthMethod), TokenEndPointAuthSigningAlg = client.TokenEndPointAuthSigningAlg, UserInfoEncryptedResponseAlg = client.UserInfoEncryptedResponseAlg, UserInfoEncryptedResponseEnc = client.UserInfoEncryptedResponseEnc, UserInfoSignedResponseAlg = client.UserInfoSignedResponseAlg, TosUri = client.TosUri }); }