Example #1
0
        private static async Task PerformRequest()
        {
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                return;
            }

            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "OrdersAPI"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            client = new HttpClient();
            client.SetBearerToken(tokenResponse.AccessToken);

            var response = await client.GetAsync("http://localhost:5001/orders");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine("Ok!");
            }
        }
Example #2
0
        static async Task Main(string[] args)
        {
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "Client1",
                ClientSecret = "secret1",
                Scope        = "api2"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            Console.WriteLine("Hello World!");


            client.SetBearerToken(tokenResponse.AccessToken);

            var response = await client.GetAsync("http://localhost:5005/api/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                //Console.WriteLine(JArray.Parse(content));
            }
        }
Example #3
0
        private static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            DiscoveryResponse disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            TokenResponse tokenResponse = await GetCredentialToken(client, disco);

            if (tokenResponse == null)
            {
                return;
            }

            await GetPasswordResourceToken(client, disco);

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            HttpResponseMessage response = await apiClient.GetAsync("http://localhost:5001/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }
        }
Example #4
0
        /// <summary>
        /// 根据用户名+密码获取token
        /// </summary>
        /// <returns></returns>
        private static async Task <string> GetAccessToken()
        {
            var client = new HttpClient();

            // 获取导航文件
            DiscoveryDocumentResponse disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return("");
            }

            // 客户端凭证模式获取token
            var request = new PasswordTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "resourceOwnerPwd.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",

                //Scope = "MyApiResourceScope1",//欲进入的资源域,不指定则为ids中为该客户端配置的允许访问的所有资源域;指定的话,则获取到的token只能用来进入指定的资源域
            };
            TokenResponse tokenResponse = await client.RequestPasswordTokenAsync(request);

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return("");
            }

            Console.WriteLine("token:");
            Console.WriteLine(tokenResponse.Json);

            return(tokenResponse.AccessToken);
        }
Example #5
0
        static async Task Main(string[] args)
        {
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync("https://localhost:44350");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }
            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "AF8754D8-796C-456F-91DF-1B0D21EB085E",
                ClientSecret = "testtest",
                Scope        = "Tenogy.Api:Access2"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);


            // call api
            client = new HttpClient();
            client.SetBearerToken(tokenResponse.AccessToken);

            await CallApi(client, "access");

            await CallApi(client, "scopes/scope");
            await CallApi(client, "scopes/scope1");
            await CallApi(client, "scopes/scope2");
        }
Example #6
0
        static async Task Main(string[] args)
        {
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync("https://localhost:44330");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
            }

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "platformApiClient",
                ClientSecret = "SuperSecretPassword",
                Scope        = "quasar.read:*/*"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            var factory = new ConnectionFactory {
                Password = tokenResponse.AccessToken
            };
// "guest"/"guest" by default, limited to localhost connections

            var conn = factory.CreateConnection();


            Console.WriteLine(tokenResponse.Json);
            Console.Read();
        }
Example #7
0
        static void Main(string[] args)
        {
            var client = new HttpClient();
            var disco  = client.GetDiscoveryDocumentAsync("https://localhost:5000").Result;

            if (!disco.IsError)
            {
                var token = client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest()
                {
                    Address      = disco.TokenEndpoint,
                    ClientId     = "apiClient",
                    ClientSecret = "secret",
                    Scope        = "api1"
                }).Result;

                if (!token.IsError)
                {
                    Console.WriteLine(token.Json);

                    client = new HttpClient();
                    client.SetBearerToken(token.AccessToken);

                    var response = client.GetAsync("https://localhost:5001/api/identity").Result;
                    if (!response.IsSuccessStatusCode)
                    {
                        Console.WriteLine(response.StatusCode);
                    }
                    else
                    {
                        var content = response.Content.ReadAsStringAsync().Result;
                        Console.WriteLine(JArray.Parse(content));
                    }
                }
            }

            Console.ReadLine();
        }
Example #8
0
        static async Task Main(string[] args)
        {
            var protocolClient = new HttpClient();

            var disco = await protocolClient.GetDiscoveryDocumentAsync("https://demo.identityserver.io");

            if (disco.IsError)
            {
                throw new Exception(disco.Error);
            }

            var tokenResponse = await protocolClient.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "client",
                ClientSecret = "secret"
            });

            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            Console.WriteLine(await apiClient.GetStringAsync("http://localhost:3308/test"));
        }
Example #9
0
        static async Task <TokenResponse> RequestTokenAsync()
        {
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync(Constants.Authority);

            if (disco.IsError)
            {
                throw new Exception(disco.Error);
            }

            var response = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "54aafa4c-c720-447c-a60a-0e5ccd14782d",
                ClientSecret = "wQJb1xk26WEKlVAT8js4IOI36CLXKAKj0o1Urfnx"
            });

            if (response.IsError)
            {
                throw new Exception(response.Error);
            }
            return(response);
        }
Example #10
0
        private static async Task <string> GetAccessToken()
        {
            var httpClient = new HttpClient();

            var openIdConnectEndPoint = await httpClient.GetDiscoveryDocumentAsync("https://localhost:5000");

            var accessToken = await httpClient.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = openIdConnectEndPoint.TokenEndpoint,
                ClientId     = "oauthClient",
                ClientSecret = "SuperSecretPassword",
                Scope        = "api1.read",
            });

            if (accessToken.IsError)
            {
                Console.WriteLine(accessToken.Error);
                return(accessToken.Error);
            }

            Console.WriteLine(accessToken.Json);

            return(accessToken.AccessToken);
        }
Example #11
0
        private static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync(IdpUri); // IDP

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "######",
                ClientSecret = "#####",

                Scope = "######"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            var token = tokenResponse.AccessToken;

            var apiClient = new HttpClient();

            apiClient.SetBearerToken(token);

            // GET Location lockers
            var response = await apiClient.GetAsync($"{ApiUri}/api/e-commerce/location/locker"); // API

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                var lockers = JsonConvert.DeserializeObject <IEnumerable <ECommerceLocationLockersModel> >(content);
                var locker  = lockers.FirstOrDefault();
                Console.WriteLine(locker?.LockerNumber);

                var order = await LoadLocker(locker?.QrCode, "SAMPle Order No", "Sample User Id", token);

                if (order == null)
                {
                    return;
                }

                Console.WriteLine(order.OtpCode, order.OrderId);

                var confirm = await Confirm(order.OrderId, token);

                if (confirm == null)
                {
                    return;
                }

                Console.WriteLine(confirm.ConfirmLink, confirm.DeliveryNumber, confirm.LockerNumber, token);
            }
        }
Example #12
0
        private static async Task MainAsync()
        {
            // discover Identity Server 4's endpoints via its discovery document
            var client = new HttpClient(); // Note: Both DiscoveryClient and TokenClient were deprecated
            DiscoveryDocumentResponse disco = await client.GetDiscoveryDocumentAsync(IdendityServer4Address);

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return; // without "discovery document" we can not go on
            }

            // obtain the access token, for this client
            TokenResponse tokenResponse = await client.RequestClientCredentialsTokenAsync(
                new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "WebAPI"
            }
                );

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return; // without "access token" we can not go on
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // Ready to consume the WebAPI
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var customerInfo = new StringContent(   // construct the payload for adding new customer
                JsonConvert.SerializeObject(
                    new
            {
                Id        = 12,
                FirstName = "Kenny",
                LastName  = "Doe"
            }),
                Encoding.UTF8,
                "application/json");

            // post to the WebAPI to add new customer
            HttpResponseMessage createCustomerResponse = await apiClient.PostAsync(WebApiEndPoint, customerInfo);

            if (!createCustomerResponse.IsSuccessStatusCode)
            {
                Console.WriteLine(createCustomerResponse.StatusCode);
            }
            else
            {
                Console.WriteLine("Added new Custeromer");
            }

            // from the WebAI, get a list of the customers
            HttpResponseMessage getCustomerReponse = await apiClient.GetAsync(WebApiEndPoint);

            if (!getCustomerReponse.IsSuccessStatusCode)
            {
                Console.WriteLine(getCustomerReponse.StatusCode);
            }
            else
            {
                string content = await getCustomerReponse.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }

            Console.ReadLine();
        }
Example #13
0
        private static async Task Main()
        {
            HttpClientHandler clientHandler = new HttpClientHandler();

            clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); };
            //System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
            //clientHandler.cert
            //var cert = new X509Certificate2("fred.pfx", "apples");
            HttpClientHandler handler     = new HttpClientHandler();
            X509Certificate2  certificate = new X509Certificate2("certificate.pfx", "secret");

            handler.ClientCertificates.Add(certificate);
            if (certificate == null)
            {
                Console.WriteLine("certificado ta nulo");
            }
            handler.ClientCertificates.Add(certificate);
            //HttpClient client = new HttpClient(handler);
            // discover endpoints from metadata
            var client = new HttpClient(clientHandler);

            var disco = await client.GetDiscoveryDocumentAsync("https://localhost:5001");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "43253244523456",
                ClientSecret = "secret6",

                Scope = "Enfermeiro"
            });

            //tokenResponse.AccessToken.c
            Console.WriteLine(tokenResponse.ToString());

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient(clientHandler);

            apiClient.SetBearerToken(tokenResponse.AccessToken);


            //apiClient.

            var response = await apiClient.GetAsync("https://localhost:6001/Funcionario/Consultas13145232242");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine("Deu certo????");
                Console.WriteLine(content);
                Console.WriteLine(JsonConvert.DeserializeObject(content));
            }
        }
Example #14
0
        static void Main(string[] args)
        {
            // discover endpoints from metadata
            var client = new HttpClient();
            var disco  = client.GetDiscoveryDocumentAsync("http://localhost:5000").Result;

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            var tokenResponse = client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "api1"
            }).Result;

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            // request token
            tokenResponse = client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "ro.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "api1"
            }).Result;

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            // call api
            client = new HttpClient();
            client.SetBearerToken(tokenResponse.AccessToken);

            var response = client.GetAsync("http://localhost:5001/identity").Result;

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(JArray.Parse(content));
            }
        }
Example #15
0
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            var errorState = true;
            var disco      = new DiscoveryDocumentResponse();
            // discover endpoints from metadata
            var client = new HttpClient();

            while (errorState)
            {
                disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

                if (disco.IsError)
                {
                    Console.WriteLine(disco.Error);
                    Console.ReadKey();
                }
                else
                {
                    errorState = false;
                    Console.WriteLine("Done");
                }
            }
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }
            Console.WriteLine("Token Response Done");
            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            try
            {
                var response = await apiClient.GetAsync("https://localhost:5001/identity");

                if (!response.IsSuccessStatusCode)
                {
                    Console.WriteLine(response.StatusCode);
                }
                else
                {
                    var content = await response.Content.ReadAsStringAsync();

                    Console.WriteLine(JArray.Parse(content));
                }

                Console.WriteLine(tokenResponse.Json);
            }
            catch (Exception ex)
            {
            }
        }
Example #16
0
        static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest
            {
                Address = "https://identity.website.com:5001",
                Policy  = { RequireHttps = false }
            });

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "client",
                ClientSecret = "secret",

                Scope = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);
            string baseUrl = "https://api.website.com:5003";
            // call authorized identity
            var response = await apiClient.GetAsync(baseUrl + "/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }

            // call authorized controller
            response = await apiClient.GetAsync(baseUrl + "/cake");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }

            // call unauthorized controller
            response = await apiClient.GetAsync(baseUrl + "/weatherforecast");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }
        }
Example #17
0
        private static async Task Main(string[] args)
        {
            Console.WriteLine("Diligent Entities API App - Copyright 2020");
            Console.WriteLine("\n");

            // test input arguments were supplied
            if (args.Length != 2 || args[0] != "--RefreshToken")
            {
                Console.WriteLine("Please pass a refresh token.");
                Console.WriteLine("\n");
                return;
            }

            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("https://ids-dev11.blueprintserver.com/ngdev-60");

            if (disco.IsError)
            {
                Console.WriteLine("Discovery error : " + disco.Error);
                Console.WriteLine("\n");
                return;
            }

            // exchange refresh token
            var refreshToken = args[1];

            Console.WriteLine("Refresh Token entered: " + refreshToken);
            Console.WriteLine("\n");

            var tokenResponse = await client.RequestRefreshTokenAsync(new RefreshTokenRequest
            {
                Address = "https://ids-dev11.blueprintserver.com/ngdev-60/connect/token",

                ClientId     = "public.api",
                ClientSecret = "87d19a99040284d433e9becd800670d1ec8bbd5dfcec9df724cfd901dfc602b9",

                RefreshToken = refreshToken
            });;

            if (tokenResponse.IsError)
            {
                Console.WriteLine("Token error: " + tokenResponse.Error);
                Console.WriteLine("\n");
                return;
            }

            // BTL Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("Access Token exchanged: " + tokenResponse.AccessToken);
            Console.WriteLine("\n");

            Console.WriteLine("New Refresh Token: " + tokenResponse.RefreshToken);
            Console.WriteLine("\n");

            // call api
            var apiClient = new HttpClient();

            try
            {
                apiClient.DefaultRequestHeaders.Add("Tenant-Id", "ngdev-60");
                apiClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + tokenResponse.AccessToken);

                var options = new JsonWriterOptions
                {
                    Indented = true
                };

                // format payload
                using (var stream = new MemoryStream())
                {
                    using (var writer = new Utf8JsonWriter(stream, options))
                    {
                        writer.WriteStartObject();

                        writer.WriteStartArray("sortCriteria");
                        writer.WriteEndArray();

                        writer.WriteStartArray("groupCriteria");
                        writer.WriteEndArray();

                        writer.WriteStartArray("searchCriteria");
                        writer.WriteEndArray();

                        writer.WriteStartArray("columns");
                        writer.WriteEndArray();

                        writer.WriteStartObject("parameters");
                        writer.WriteEndObject();

                        writer.WriteNumber("filterCombinator", 0);
                        writer.WriteNumber("pageSize", 10);
                        writer.WriteNumber("pageNumber", 0);

                        writer.WriteEndObject();
                    }

                    string json = Encoding.UTF8.GetString(stream.ToArray());
                    Console.WriteLine("Payload: " + json);
                    Console.WriteLine("\n");

                    var content = new StringContent(json, Encoding.UTF8, "application/json");

                    var httpResponseMessage = await apiClient.PostAsync(
                        "https://dil-as-test.azure-api.net/entities/nextgen/companies/search",
                        content);

                    string resp = await httpResponseMessage.Content.ReadAsStringAsync();

                    Console.WriteLine("Summary: Companies refreshed");
                    Console.WriteLine("\n");
                    Console.WriteLine("Response: " + resp);
                    Console.WriteLine("\n");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Caught exception : " + ex);
                Console.WriteLine("\n");
            }
        }
Example #18
0
        static async Task Main()
        {
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("https://localhost:5001");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            //var apiTokenResponse = await client.RequestClientCredentialsTokenAsync(
            //    new ClientCredentialsTokenRequest
            //    {
            //        Address = disco.TokenEndpoint,
            //        ClientId = "client",
            //        ClientSecret = "511536EF-F270-4058-80CA-1C89C192F69A",
            //        Scope = "scope1"
            //    });

            //if (apiTokenResponse.IsError)
            //{
            //    Console.WriteLine(apiTokenResponse.Error);
            //    return;
            //}

            //var apiClient = new HttpClient();

            //apiClient.SetBearerToken(apiTokenResponse.AccessToken);
            //var response = await apiClient.GetAsync("https://localhost:6001/identity");
            //if (!response.IsSuccessStatusCode)
            //{
            //    Console.WriteLine(response.StatusCode);
            //}
            //else
            //{
            //    var content = await response.Content.ReadAsStringAsync();
            //    Console.WriteLine(JArray.Parse(content));
            //}

            var passwordTokenResponse = await client.RequestPasswordTokenAsync(
                new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "password",
                ClientSecret = "511536EF-F270-4058-80CA-1C89C192F69A",
                Scope        = "scope1 openid profile",
                UserName     = "******",
                Password     = "******"
            });

            if (passwordTokenResponse.IsError)
            {
                Console.WriteLine(passwordTokenResponse.IsError);
                return;
            }
            var passwordClient = new HttpClient();

            passwordClient.SetBearerToken(passwordTokenResponse.AccessToken);
            var response = await passwordClient.GetAsync(disco.UserInfoEndpoint);

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }

            Console.ReadKey();
        }
        static async Task Start()
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

                    if (disco.IsError)
                    {
                        Console.WriteLine(disco.Error);
                        return;
                    }

                    var tokenResource = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
                    {
                        Address = disco.TokenEndpoint,

                        ClientId     = "clientid",
                        ClientSecret = "secret",
                        Scope        = "myApi"
                    });


                    if (tokenResource.IsError)
                    {
                        Console.WriteLine(tokenResource.Error);
                        return;
                    }

                    Console.WriteLine(tokenResource.Json);

                    await Send(tokenResource.AccessToken);

                    async Task Send(string token)
                    {
                        using (var client2 = new HttpClient())
                        {
                            client2.SetBearerToken(token);

                            var response = await client2.GetAsync($"http://localhost:5001/api/values/{DateTime.Now.ToString("yyyyMMddHHmmss")}");

                            if (!response.IsSuccessStatusCode)
                            {
                                Console.WriteLine(response.StatusCode);
                                return;
                            }
                            else
                            {
                                var content = await response.Content.ReadAsStringAsync();

                                Console.WriteLine($"result:{content}");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"There was an exception: {ex.ToString()}");
            }
        }
Example #20
0
        public static async Task Main(string[] args)
        {
            Console.WriteLine("Hello Console!");

            // DISCO - Discovery Endpoint
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest
            {
                Address = "http://host.docker.internal:5000",
                Policy  = { RequireHttps = false }
            });

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                Console.ReadKey(true);
                return;
            }

            // Richiesta dell'AccessToken passando i parametri richiesti, usando il client M2M
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "m2m-client",
                ClientSecret = "thisissosecret",
                Scope        = "user.basic",
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                Console.ReadKey(true);
                return;
            }
            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");


            // Richiesta dell'API usando l'AccessToken come Authorization nell'header
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);
            // microservice 1
            var response = await apiClient.GetAsync("http://localhost:15100/numbers/random");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }
            Console.WriteLine("\n\n");
            // microservice 2
            response = await apiClient.GetAsync("http://localhost:15200/strings/hello");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }
            Console.WriteLine("\n\n");
            // microservice 2 - claims
            response = await apiClient.GetAsync("http://localhost:15200/claims");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }

            Console.ReadKey(true);
        }
Example #21
0
        static async Task Run()
        {
            await Task.Delay(10000);

            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("https://localhost:5001");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token resource owner flow
            var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "ro.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "Chat"
            });

            // request token client credential flow
            //var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            //{
            //    Address = disco.TokenEndpoint,
            //    ClientId = "netClient",
            //    ClientSecret = "secret",

            //    Scope = "Chat"
            //});

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var response = await apiClient.GetAsync("https://localhost:5002/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }


            var c = new HubConnectionBuilder()
                    .WithUrl("https://localhost:5002/chat", config => {
                config.AccessTokenProvider = () => Task.FromResult(tokenResponse.AccessToken);
            })
                    .Build();

            c.Closed += C_Closed;
            c.On <string>("Echo", m => Console.WriteLine(m));

            await c.StartAsync();

            try
            {
                await c.SendAsync("Echo", "Hallo Echo");

                var e = await c.InvokeAsync <string>("Echo2", "Hallo Echo2");

                Console.WriteLine(e);
            }
            catch (Exception e)
            {
                throw;
            }



            await Task.Delay(5000);

            await c.StopAsync();
        }
 static private async Task <DiscoveryDocumentResponse> GetDiscoveryDoc(HttpClient client)
 {
     return(await client.GetDiscoveryDocumentAsync("https://localhost:5001"));
 }
        static async Task Main(string[] args)
        {
            string baseAddress = "https://localhost:6001";

            Console.WriteLine("App Start");
            DiscoveryDocumentResponse disco;
            // discover endpoints from metadata
            {
                var client = new HttpClient();
                disco = await client.GetDiscoveryDocumentAsync("https://localhost:5001");

                if (disco.IsError)
                {
                    Console.WriteLine(disco.Error);
                    return;
                }
            }

            // client.AccessTokenType = AccessTokenType.Reference;
            // request token
            {
                var client        = new HttpClient();
                var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
                {
                    Address = disco.TokenEndpoint,

                    ClientId     = "client",
                    ClientSecret = "secret",
                    Scope        = "api1"
                });

                if (tokenResponse.IsError)
                {
                    Console.WriteLine(tokenResponse.Error);
                    return;
                }

                Console.WriteLine(tokenResponse.Json);
                //setRequestHeader("Authorization", "Bearer " + user.access_token);
                var accessToken = tokenResponse.Json["access_token"].ToString();
                // WeatherForecast
                client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
                var weatherGet = await client.GetStringAsync(baseAddress + "/WeatherForecast");


                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, baseAddress + "/identity");
                request.Headers.Add("Authorization", new List <string>()
                {
                    "Bearer " + accessToken
                });
                request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
                var resp = await client.SendAsync(request);


                var identityGet = await client.GetStringAsync(baseAddress + "/identity");

                Console.WriteLine($"GET: {identityGet}");
            }

            {
                var client         = new HttpClient();
                var tokenResponse2 = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
                {
                    Address      = disco.TokenEndpoint,
                    Password     = "******",
                    UserName     = "******",
                    Scope        = "api1",
                    ClientId     = "ro.client",
                    ClientSecret = "secret"
                });

                if (tokenResponse2.IsError)
                {
                    Console.WriteLine(tokenResponse2.Error);
                    return;
                }

                Console.WriteLine(tokenResponse2.Json);
                Console.WriteLine("\n\n");
            }
            {
                var client         = new HttpClient();
                var tokenResponse3 = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
                {
                    Address = disco.TokenEndpoint,

                    ClientId     = "client11",
                    ClientSecret = "secret11",
                    Scope        = "api1"
                });

                if (tokenResponse3.IsError)
                {
                    Console.WriteLine(tokenResponse3.Error);
                    return;
                }

                Console.WriteLine(tokenResponse3.Json);
            }

            {
                var client4 = new HttpClient();
                //reference token
                var tokenResponse4 = await client4.RequestPasswordTokenAsync(new PasswordTokenRequest
                {
                    Address      = disco.TokenEndpoint,
                    Password     = "******",
                    UserName     = "******",
                    Scope        = "api1",
                    ClientId     = "ro.client2",
                    ClientSecret = "secret"
                });

                if (tokenResponse4.IsError)
                {
                    Console.WriteLine(tokenResponse4.Error);
                    return;
                }

                Console.WriteLine(tokenResponse4.Json);
                Console.WriteLine("\n\n");

                var accessToken4 = tokenResponse4.Json["access_token"].ToString();
                // WeatherForecast
                //       client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
                var weatherGet4 = await client4.GetStringAsync(baseAddress + "/WeatherForecast");


                HttpRequestMessage request4 = new HttpRequestMessage(HttpMethod.Get, baseAddress + "/identity");
                request4.Headers.Add("Authorization", new List <string>()
                {
                    "Bearer " + accessToken4
                });
                request4.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken4);
                var resp4 = await client4.SendAsync(request4);

                client4.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken4);
                var identityGet4 = await client4.GetStringAsync(baseAddress + "/identity");

                Console.WriteLine($"GET: {identityGet4}");
            }
        }
Example #24
0
        private static async Task RunDemo()
        {
            var client = new HttpClient();

            // discover endpoints from metadata
            var disco = await client.GetDiscoveryDocumentAsync("http://localhost:8001");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }


            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest()
            {
                Address = disco.TokenEndpoint,

                ClientId     = "client1",
                ClientSecret = "123qwe",

                //Scope = "api1,AuthServerApi",
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            Console.WriteLine("访问Api1");
            // call api
            client.SetBearerToken(tokenResponse.AccessToken);

            var response = await client.GetAsync("http://localhost:8003/api/values");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }


            Console.WriteLine("访问Api2");
            response = await client.GetAsync("http://localhost:8004/api/values");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }
        }
Example #25
0
        static async Task Main(string[] args)
        {
            // discover endpoints from metadata
            var client = new HttpClient();
            var disco  = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // user password
            var tokenPasswordTokenAsync = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "intro",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "api1"
            });

            if (tokenPasswordTokenAsync.IsError)
            {
                Console.WriteLine(tokenPasswordTokenAsync.Error);
                return;
            }

            Console.WriteLine(tokenPasswordTokenAsync.Json);

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,

                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            // call api
            client.SetBearerToken(tokenResponse.AccessToken);

            var response = await client.GetAsync("http://localhost:5001/weatherforecast");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }
        }
Example #26
0
        private static async Task MainAsync()
        {
            var client = new HttpClient();

            string      token       = "";
            var         uri         = new Uri("http://localhost:5000/loginapi");
            HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(new LoginApiDto
            {
                Username = "******",
                Password = "******"
            }));

            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            var resp = await client.PostAsync(uri, httpContent);

            if (resp.IsSuccessStatusCode)
            {
                token = await resp.Content.ReadAsStringAsync();
            }
            Console.WriteLine(token);
            var apiClient2   = new HttpClient();
            var apiResponse2 = await apiClient2.GetAsync("http://localhost:5000/protected");

            if (!apiResponse2.IsSuccessStatusCode)
            {
                Console.WriteLine(apiResponse2.StatusCode);
            }
            else
            {
                var content = await apiResponse2.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }

            apiClient2 = new HttpClient();
            apiClient2.SetBearerToken(token);
            apiResponse2 = await apiClient2.GetAsync("http://localhost:5000/protected");

            if (!apiResponse2.IsSuccessStatusCode)
            {
                Console.WriteLine(apiResponse2.StatusCode);
            }
            else
            {
                var content = await apiResponse2.Content.ReadAsStringAsync();

                Console.WriteLine(content);
            }


            // discover endpoints from the metadata by calling Auth server hosted on 5000 port
            var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request the token from the Auth server
            var response = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "api1"
            });

            if (response.IsError)
            {
                Console.WriteLine(response.Error);
                return;
            }
            Console.WriteLine(response.Json);
            Console.WriteLine(response.RefreshToken);

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(response.AccessToken);

            var apiResponse = await apiClient.GetAsync("http://localhost:5000/protected");

            if (!apiResponse.IsSuccessStatusCode)
            {
                Console.WriteLine(apiResponse.StatusCode);
            }
            else
            {
                var content = await apiResponse.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }

            Console.Write($"\n\nShould get unauthorized error:\n");
            // call api
            apiClient   = new HttpClient();
            apiResponse = await apiClient.GetAsync("http://localhost:5000/api/identity");

            if (!apiResponse.IsSuccessStatusCode)
            {
                Console.WriteLine(apiResponse.StatusCode);
            }
            else
            {
                var content = await apiResponse.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }

            // -----------------------------------------------------------------
            // Resource owner auth
            Console.WriteLine("------------------------------");
            Console.WriteLine("password auth");
            Console.WriteLine("------------------------------");

            // request token
            var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "ro.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
        }
Example #27
0
        private static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token with ClientCredentials
            //var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            //{
            //    Address = disco.TokenEndpoint,
            //    ClientId = "client",
            //    ClientSecret = "secret",

            //    Scope = "api1"
            //});

            // request token with resource owner credentials
            var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "ro.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var response = await apiClient.GetAsync("http://localhost:5001/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }

            Console.ReadLine();
        }
Example #28
0
        public static async Task MainAsync(string[] args)
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");

            if (disco.IsError)
            {
                Console.WriteLine("------------Token Error---------------------");
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            //var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            //{
            //    Address = disco.TokenEndpoint,
            //    ClientId = "client",
            //    ClientSecret = "secret",

            //    Scope = "api1"
            //});


            // request token
            var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address      = disco.TokenEndpoint,
                ClientId     = "ro.client",
                ClientSecret = "secret",

                UserName = "******",
                Password = "******",
                Scope    = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }
            Console.WriteLine("------------Token Response---------------------");
            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var response = await apiClient.GetAsync("http://localhost:5001/api/items");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine("------------Items api error---------------------");
                var error = await response.Content.ReadAsStringAsync();

                Console.WriteLine(response.StatusCode);
                Console.WriteLine(error);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine("------------Items api response----------------------");
                Console.WriteLine(JObject.Parse(content));
            }

            var stringContent = new StringContent("", UnicodeEncoding.UTF8, "application/json");

            var responseBuy = await apiClient.PostAsync("http://localhost:5001/api/items/5/buy", stringContent);

            if (!responseBuy.IsSuccessStatusCode)
            {
                var error = await responseBuy.Content.ReadAsStringAsync();

                Console.WriteLine("------------Buy api error---------------------");
                Console.WriteLine(responseBuy.StatusCode);
                Console.WriteLine(error);
            }
            else
            {
                var content = await responseBuy.Content.ReadAsStringAsync();

                Console.WriteLine("------------Buy api response---------------------");

                Console.WriteLine(JObject.Parse(content));
            }
        }
Example #29
0
        private static async Task Main()
        {
            try
            {
                // discover endpoints from metadata
                var client = new HttpClient();
                //var ids4Url = "http://101.200.182.225:53362";
                //// discover endpoints from metadata
                //var discoveryClient = new DiscoveryClient(ids4Url) { Policy = { RequireHttps = false } };
                //var disco = await discoveryClient.GetAsync();
                var disco = await client.GetDiscoveryDocumentAsync("http://localhost:53362");

                if (disco.IsError)
                {
                    Console.WriteLine(disco.Error);
                    return;
                }

                //request token
                var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
                {
                    Address      = disco.TokenEndpoint,
                    ClientId     = "business-app",
                    ClientSecret = "1q2w3e*",

                    Scope = "InternalGateway BaseService"
                });

                if (tokenResponse.IsError)
                {
                    Console.WriteLine(tokenResponse.Error);
                    return;
                }

                Console.WriteLine(tokenResponse.Json);
                Console.WriteLine("\n\n");

                //// call api
                //var apiClient = new HttpClient();
                //apiClient.SetBearerToken(tokenResponse.AccessToken);

                //var response = await apiClient.GetAsync("http://localhost:51186/api/app/cs-machine-shift-report");
                //if (!response.IsSuccessStatusCode)
                //{
                //    Console.WriteLine(response.StatusCode);
                //}
                //else
                //{

                //    //var content = await response.Content.ReadAsStringAsync();
                //    ////Console.WriteLine(content);
                //    //string baseAddr = "http://localhost:51186";
                //    //string path = "http://localhost:51186/BusinessService"; //"Bearer " + tokenResponse.AccessToken;
                //    //string auth = "Bearer " + tokenResponse.AccessToken;
                //    //HttpFactory httpFactory = new HttpFactory();
                //    //AbsHttpHelper helper = httpFactory.CreateHttpHelper("post", baseAddr, auth, path, true, null);
                //    //string rs = helper.GetResult();
                //    //Console.WriteLine(rs);


                //}
                using (var httpClient = new HttpClient())
                {
                    httpClient.SetBearerToken(tokenResponse.AccessToken);
                    var response1 = await httpClient.GetAsync("http://localhost:51186/api/business/lt-machine-shift-report");

                    //var response1 = await httpClient.GetAsync("http://localhost:51186/api/business/lt-machine-shift-report");
                    if (response1.IsSuccessStatusCode)
                    {
                        System.Console.WriteLine(await response1.Content.ReadAsStringAsync());
                    }
                    else
                    {
                        Console.WriteLine(response1.StatusCode);
                    }
                }


                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
            }
        }
Example #30
0
        static async Task Main(string[] args)
        {
            var client            = new HttpClient();
            var discoveryResponse = await client.GetDiscoveryDocumentAsync("https://localhost:5001");

            if (discoveryResponse.IsError)
            {
                Console.WriteLine(discoveryResponse.Error);
                return;
            }

            await ROpasswordAndClientCredentialsExample(client, discoveryResponse);

            var resourceOwnerPasswordResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address = discoveryResponse.TokenEndpoint,

                ClientId     = "ResourceOwnerPassword",
                ClientSecret = "secret",
                GrantType    = "password",
                UserName     = "******",
                Password     = "******",
                Scope        = "profile"
            });

            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = discoveryResponse.TokenEndpoint,

                ClientId     = "client",
                ClientSecret = "secret",
                Scope        = "api1"
            });

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);

            var validatedToken = Validate(tokenResponse.AccessToken);

            var apiClient = new HttpClient();

            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var response = await apiClient.GetAsync("http://localhost:6001/identity");

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();

                Console.WriteLine(JArray.Parse(content));
            }
        }