zoukankan      html  css  js  c++  java
  • 10-第三方ClientCredential模式调用

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

    E:coding
    etcoreIdentityServerSample>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运行后,结果如下

  • 相关阅读:
    读取手机硬件信息
    Android存储空间不足的解决办法
    Android实现系统重新启动
    使用PackageManager获得应用(包)信息
    获得屏幕尺寸
    Android获取ROOT权限
    Android调用系统自带的设置界面
    TabHost的使用
    ListActivity的使用
    Ubuntu密码错误的问题
  • 原文地址:https://www.cnblogs.com/qinzb/p/9465554.html
Copyright © 2011-2022 走看看