private void btnCreateSignerIdentity_Click(object sender, EventArgs e) { if (ValidateInputs()) { var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(_serverDto, _tenantName); ActionHelper.Execute(delegate { var oidcClientMetadataDTO = new OidcClientMetadataDto { CertSubjectDN = txtSubjectDN.Text, LogoutUri = string.IsNullOrWhiteSpace(txtLogoutUri.Text) ? null : txtLogoutUri.Text, TokenEndpointAuthMethod = cbTokenAuth.Items[cbTokenAuth.SelectedIndex].ToString(), RedirectUris = GetRedirectUris(), PostLogoutRedirectUris = GetPostLogoutRedirectUris() }; if (_oidcClientDtoOrig == null) { _oidcClientDtoOrig = _service.OidcClient.Create(_serverDto, _tenantName, oidcClientMetadataDTO, auth.Token); } else { _oidcClientDtoOrig = _service.OidcClient.Update(_serverDto, _tenantName, txtClientId.Text, oidcClientMetadataDTO, auth.Token); } }, auth); this.DialogResult = DialogResult.OK; } }
public OidcClientDto Create(ServerDto serverDto, string tenant, OidcClientMetadataDto oidcClientMetadataDto, Token token) { tenant = Uri.EscapeDataString(tenant); var json = JsonConvert.Serialize(oidcClientMetadataDto); var url = string.Format(_serviceConfigManager.GetOidcClientsEndPoint(), serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant); ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; var requestConfig = new RequestSettings { Method = HttpMethod.Post, }; var headers = ServiceHelper.AddHeaders(ServiceConstants.JsonContentType); json = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower() + "&" + json; var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, json); return(JsonConvert.Deserialize <OidcClientDto>(response)); }