IdentityServer4笔记

//从元数据中发现终结点,查找IdentityServer(5000端口)
            var disco = DiscoveryClient.GetAsync("http://localhost:5000").Result;


            //向IdentityServer请求令牌
            var tokenClient = new TokenClient(disco.TokenEndpoint, "client", "secret");
            var tokenResponse = tokenClient.RequestClientCredentialsAsync("api1").Result;

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

            Console.WriteLine(tokenResponse.Json);

            //访问Api
            var 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(content);
            }
            Console.Read();
var client = new HttpClient();
            string key = "eyJhbGciOiJSUzI1NiIsImtpZCI6ImIwODUyMWFiNWE0ZTFiMmZiYjBiY2FkZGRkMTUxNjZjIiwidHlwIjoiSldUIn0.eyJuYmYiOjE1NjA4NDM5MTYsImV4cCI6MTU2MDg0NzUxNiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9yZXNvdXJjZXMiLCJhcGkxIl0sImNsaWVudF9pZCI6ImNsaWVudCIsInNjb3BlIjpbImFwaTEiXX0.YPP2xcNTDuOXROHFQ2mkSLH35m6uBJmKYXgrRJDbrSsZ9PySjRXnK0DOBzqYMZfs89FD7ik5RmQeVPjzheeFqEzvYdHIV-8veXffUSToIOvf_5BB33Qdkk6XqziyQBNlb6hJQeQOC6QbORdf6J6IvdgzWUiVfKaZPnb-BCgy2lcM5eA5o97If4amaEc4trT9T4ifL7WJ8rLOxNMgDsbGzqsu2WjZeekFQdtnP4bP2GHGzYGxN0MKKCF8LcQ1VWwrkuYlYtfDIPYxzP72AOxtMEDetJHTiFSLn9D39f5_LY-8jY0nmCwG5TClor3Tv4P3PNpLih1YEFG4SWrjZPkQoA";


            HttpWebRequest request = WebRequest.Create("http://localhost:5001/identity") as HttpWebRequest;

            request.Method = "GET";

            var headers = request.Headers;
            headers["Authorization"] = "Bearer " + key; //传递进去认证Token
            request.Headers = headers;


            HttpWebResponse response;
            try
            {
                //获得响应流
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                response = null;
            }


            Stream s = response.GetResponseStream();
            StringBuilder str = new StringBuilder();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
                StreamReader readStream = new StreamReader(s, encode);
                Char[] read = new Char[256];
                int count = readStream.Read(read, 0, 256);
                while (count > 0)
                {
                    str.Append(new String(read, 0, count));
                    count = readStream.Read(read, 0, 256);
                }
                s.Close();
                readStream.Close();
            }

            Console.WriteLine(str);

            Console.Read();

 

转载于:https://www.cnblogs.com/wjx-blog/p/11046275.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值