/// <inheritdoc/> public async Task <bool> Update(UmaPermission permission, string token) { HttpClient client = this.httpClientService.CreateDefaultHttpClient(); client.DefaultRequestHeaders.Accept.Clear(); client.BearerTokenAuthorization(token); string requestUrl = this.serverConfigurationDelegate.ServerConfiguration.PermissionEndpoint + "/" + permission.Id; client.BaseAddress = new Uri(requestUrl); string jsonOutput = JsonSerializer.Serialize <UmaPermission>(permission); using (HttpContent content = new StringContent(jsonOutput)) { HttpResponseMessage response = await client.PutAsync(new Uri(requestUrl), content).ConfigureAwait(false); if (!response.IsSuccessStatusCode) { string msg = $"update() returned with StatusCode := {response.StatusCode}."; this.logger.LogError(msg); throw new HttpRequestException(msg); } return(true); } }
/// <inheritdoc/> public async Task <UmaPermission> Create(string resourceId, UmaPermission permission, string token) { HttpClient client = this.httpClientService.CreateDefaultHttpClient(); client.DefaultRequestHeaders.Accept.Clear(); client.BearerTokenAuthorization(token); string requestUrl = this.serverConfigurationDelegate.ServerConfiguration.PolicyEndpoint + "/" + resourceId; client.BaseAddress = new Uri(requestUrl); string jsonOutput = JsonSerializer.Serialize <UmaPermission>(permission); using (HttpContent content = new StringContent(jsonOutput)) { HttpResponseMessage response = await client.PostAsync(new Uri(requestUrl), content).ConfigureAwait(false); if (!response.IsSuccessStatusCode) { this.logger.LogError($"create() returned with StatusCode := {response.StatusCode}."); } string result = await response.Content.ReadAsStringAsync().ConfigureAwait(false); UmaPermission?umaPermissionResponse = JsonSerializer.Deserialize <UmaPermission>(result); return(umaPermissionResponse !); } }