Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
        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));
        }