public async Task <AuthorizationResponse> ExecuteAsync(PostAuthorization request, string url, string token) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (string.IsNullOrWhiteSpace(url)) { throw new ArgumentNullException(nameof(url)); } if (string.IsNullOrWhiteSpace(token)) { throw new ArgumentNullException(nameof(token)); } var httpClient = _httpClientFactory.GetHttpClient(); var serializedPostAuthorization = JsonConvert.SerializeObject(request); var body = new StringContent(serializedPostAuthorization, Encoding.UTF8, "application/json"); var httpRequest = new HttpRequestMessage { Method = HttpMethod.Post, Content = body, RequestUri = new Uri(url) }; httpRequest.Headers.Add("Authorization", "Bearer " + token); var result = await httpClient.SendAsync(httpRequest).ConfigureAwait(false); result.EnsureSuccessStatusCode(); var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <AuthorizationResponse>(content)); }
private async Task <AuthorizationResponse> GetAuthorization(string ticketId, string accessToken) { var postAuthorization = new PostAuthorization { TicketId = ticketId }; return(await _identityServerUmaClientFactory.GetAuthorizationClient() .GetByResolution(postAuthorization, _securityOptions.UmaConfigurationUrl, accessToken)); }
public static GetAuthorizationActionParameter ToParameter(this PostAuthorization postAuthorization) { var tokens = new List <ClaimTokenParameter>(); if (postAuthorization.ClaimTokens != null && postAuthorization.ClaimTokens.Any()) { tokens = postAuthorization.ClaimTokens.Select(ct => ct.ToParameter()).ToList(); } return(new GetAuthorizationActionParameter { Rpt = postAuthorization.Rpt, TicketId = postAuthorization.TicketId, ClaimTokenParameters = tokens }); }
private async Task <AuthorizationResponse> GetAuthorization(string ticketId, string accessToken, string identityToken) { var postAuthorization = new PostAuthorization { TicketId = ticketId, ClaimTokens = new List <PostClaimToken> { new PostClaimToken { Format = "http://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken", Token = identityToken } } }; return(await _identityServerUmaClientFactory.GetAuthorizationClient() .GetByResolution(postAuthorization, _securityOptions.UmaConfigurationUrl, accessToken)); }
public async Task <ActionResult> GetAuthorization([FromBody] PostAuthorization postAuthorization) { if (postAuthorization == null) { throw new ArgumentNullException(nameof(postAuthorization)); } var parameter = postAuthorization.ToParameter(); var clientId = this.GetClientId(); var result = await _authorizationActions.GetAuthorization(parameter, clientId); if (result.AuthorizationPolicyResult != AuthorizationPolicyResultEnum.Authorized) { return(GetErrorResponse(result.AuthorizationPolicyResult)); } var content = new AuthorizationResponse { Rpt = result.Rpt }; return(new OkObjectResult(content)); }
public async Task <AuthorizationResponse> GetByResolution(PostAuthorization request, string url, string token) { var configuration = await _getConfigurationOperation.ExecuteAsync(UriHelpers.GetUri(url)); return(await Get(request, configuration.RptEndPoint, token)); }
public Task <AuthorizationResponse> Get(PostAuthorization request, string url, string token) { return(_getAuthorizationOperation.ExecuteAsync(request, url, token)); }