10-第三方ClientCredential模式调用

1-新建.net core控制台应用程序

E:\coding\netcore\IdentityServerSample>dotnet new console --name ThridPartDemo

2-使用nuget工具安装 IdentityModel

3-编写API调用,说明http://localhost:5000是授权服务器, 5001是网站服务器客户端,即提供资源端

 class Program
    {
        static void Main(string[] args)
        {
           var discovery =  DiscoveryClient.GetAsync("http://localhost:5000").Result;
           if(discovery.IsError){
               Console.WriteLine(discovery.Error);
           }
          Console.WriteLine(discovery.TokenEndpoint);
          TokenClient tokenClient = new TokenClient(discovery.TokenEndpoint,"client","secret");
          var tokenResponse = tokenClient.RequestClientCredentialsAsync("api").Result;
          if(tokenResponse.IsError){
              Console.WriteLine($"tokenResponse Error: {tokenResponse.Error}");
          }else{
              Console.WriteLine(tokenResponse.Json);
          }
           
           HttpClient httpClient = new HttpClient();
           httpClient.SetBearerToken(tokenResponse.AccessToken);
           var response = httpClient.GetAsync("http://localhost:5001/api/values").Result;

           if(response.IsSuccessStatusCode){
              Console.WriteLine(response.Content.ReadAsStringAsync().Result);
           }

           Console.ReadLine();
        }
    }

使用dotnet run运行后,结果如下

 

转载于:https://www.cnblogs.com/qinzb/p/9465554.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值