Exemplo n.º 1
0
        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
            });
        }