Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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 !);
            }
        }