最簡單的IdentityServer實現——Client


客戶端控制台演示請求訪問令牌,然后使用此令牌訪問API

1.新建項目並添加引用

新建一個.net core的控制台程序IdentityServer.EasyDemo.Client

 
1


引用IdentityModel

 
2

 

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));
}

3.測試

啟動IdentityServer項目與Api項目,調試Client項目

 
3


查看結果

 
4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM