客户端控制台演示请求访问令牌,然后使用此令牌访问API
新建一个.net core的控制台程序IdentityServer.EasyDemo.Client
1引用IdentityModel
2
在Program.cs中,写上调用的方法,如下所示:
//从元数据中发现终结点,查找IdentityServer(5000端口) var disco = await DiscoveryClient.GetAsync("http://localhost:5000"); if (disco.IsError) { Console.WriteLine(disco.Error); return; } //向IdentityServer请求令牌 var tokenClient = new TokenClient(disco.TokenEndpoint, "client", "secret"); var tokenResponse = await tokenClient.RequestClientCredentialsAsync("api1"); if (tokenResponse.IsError) { Console.WriteLine(tokenResponse.Error); return; } Console.WriteLine(tokenResponse.Json); //访问Api var client = new HttpClient(); //把令牌添加进请求 client.SetBearerToken(tokenResponse.AccessToken); var response = await client.GetAsync("http://localhost:5001/identity"); if (!response.IsSuccessStatusCode) { Console.WriteLine(response.StatusCode); } else { var content = await response.Content.ReadAsStringAsync(); Console.WriteLine(JArray.Parse(content)); }启动IdentityServer项目与Api项目,调试Client项目
3查看结果
4转载于:https://www.cnblogs.com/Lulus/p/7986625.html
相关资源:数据结构—成绩单生成器