public async Task <GetRegisterClientResult> ExecuteAsync(Core.Common.DTOs.Requests.ClientRequest client, Uri requestUri, string authorizationValue) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (requestUri == null) { throw new ArgumentNullException(nameof(requestUri)); } var httpClient = _httpClientFactory.GetHttpClient(); var json = JsonConvert.SerializeObject(client, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var request = new HttpRequestMessage { Method = HttpMethod.Post, Content = new StringContent(json), RequestUri = requestUri }; request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); if (!string.IsNullOrWhiteSpace(authorizationValue)) { request.Headers.Add("Authorization", "Bearer " + authorizationValue); } var result = await httpClient.SendAsync(request).ConfigureAwait(false); var content = await result.Content.ReadAsStringAsync().ConfigureAwait(false); try { result.EnsureSuccessStatusCode(); } catch (Exception) { return(new GetRegisterClientResult { ContainsError = true, Error = JsonConvert.DeserializeObject <ErrorResponseWithState>(content), Status = result.StatusCode }); } return(new GetRegisterClientResult { ContainsError = false, Content = JsonConvert.DeserializeObject <ClientRegistrationResponse>(content) }); }
public Task <GetRegisterClientResult> ExecuteAsync(Core.Common.DTOs.Requests.ClientRequest client, Uri registrationUri, string accessToken) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (registrationUri == null) { throw new ArgumentNullException(nameof(registrationUri)); } return(_registerClientOperation.ExecuteAsync(client, registrationUri, accessToken)); }
public async Task <GetRegisterClientResult> ResolveAsync(Core.Common.DTOs.Requests.ClientRequest client, string configurationUrl, string accessToken) { if (string.IsNullOrWhiteSpace(configurationUrl)) { throw new ArgumentNullException(nameof(configurationUrl)); } Uri uri = null; if (!Uri.TryCreate(configurationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, configurationUrl)); } var discoveryDocument = await _getDiscoveryOperation.ExecuteAsync(uri).ConfigureAwait(false); return(await ExecuteAsync(client, discoveryDocument.RegistrationEndPoint, accessToken).ConfigureAwait(false)); }
public Task <GetRegisterClientResult> ExecuteAsync(Core.Common.DTOs.Requests.ClientRequest client, string registrationUrl, string accessToken) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (string.IsNullOrWhiteSpace(registrationUrl)) { throw new ArgumentNullException(nameof(registrationUrl)); } Uri uri = null; if (!Uri.TryCreate(registrationUrl, UriKind.Absolute, out uri)) { throw new ArgumentException(string.Format(ErrorDescriptions.TheUrlIsNotWellFormed, registrationUrl)); } return(ExecuteAsync(client, uri, accessToken)); }
public GetRegisterClientResult Execute(Core.Common.DTOs.Requests.ClientRequest client, string registrationUrl, string accessToken) { return(ExecuteAsync(client, registrationUrl, accessToken).Result); }