private async Task <string> GetUsers()
        {
            var disco = await DiscoveryClient.GetAsync("https://localhost:44344/");

            var tokenClient   = new TokenClient(disco.TokenEndpoint, "webApp", "secret");
            var tokenResponse = await tokenClient.RequestClientCredentialsAsync("userApi");

            var result = default(string);

            if (tokenResponse.IsError)
            {
                result = "Error....could not get access token for API";
            }
            else
            {
                using (var client = new HttpClient())
                {
                    client.SetBearerToken(tokenResponse.AccessToken);
                    var response = await client.GetAsync("https://localhost:44377/api/users");

                    if (response.IsSuccessStatusCode)
                    {
                        result = await response.Content.ReadAsStringAsync();
                    }
                    else
                    {
                        result = "Error... could not retrieve users";
                    }
                }
            }

            tokenClient.Dispose();

            return(result);
        }
Exemple #2
0
 protected virtual void Dispose(bool disposing)
 {
     if (!_disposed && disposing)
     {
         _tokenClient.Dispose();
         _httpClient.Dispose();
         _disposed = true;
     }
 }
Exemple #3
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                _httpMessageInvoker.Dispose();
                _tokenClient.Dispose();
            }

            base.Dispose(disposing);
        }
 public void Dispose()
 {
     _tokenClient?.Dispose();
 }