public AuthTokenDto GetTokenFromCertificate(ServerDto serverDto, X509Certificate2 certificate, RSACryptoServiceProvider rsa) { var url = _serviceConfigManager.GetTokenFromCertificateUrl(serverDto); var aud = _serviceConfigManager.GetAudience(serverDto); var signedToken = GetSignedJwtToken(rsa, certificate, aud); if (signedToken == null) { throw new Exception("Could not generate a valid token"); } ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; var data = _serviceConfigManager.GetJwtTokenBySolutionUserArgs(signedToken); var requestConfig = new RequestSettings { Method = HttpMethod.Post, }; var headers = ServiceHelper.AddHeaders(); var result = _webRequestManager.GetResponse(url, requestConfig, headers, null, data); var token = JsonConvert.Deserialize <Token>(result); token.Raw = result; return(new AuthTokenDto(Refresh) { Token = token, ClaimsPrincipal = null, Login = null, ServerDto = serverDto }); }