基於上一篇文章中的程式碼進行繼續延伸,只需要小小的改動即可,不明白的地方可以先看看本人上一篇文章及原始碼: Identity Server 4使用者端認證控制存取API
// 定義使用者端認證方式 public static IEnumerable<Client> Clients => new[] { // 使用者端認證 new Client { ClientId="sample_client", // 使用者端id ClientSecrets = { new Secret("sample_client_secret".Sha256()) // 使用者端祕鑰 }, AllowedGrantTypes=GrantTypes.ClientCredentials, // 授權型別為使用者端 AllowedScopes={ "sample_api" } // 設定該使用者端允許存取的api範圍 }, // 資源擁有者認證 new Client { ClientId="sample_pass_client", // 使用者端id ClientSecrets = { new Secret("sample_client_secret".Sha256()) // 使用者端祕鑰 }, AllowedGrantTypes=GrantTypes.ResourceOwnerPassword, // 授權型別為資源擁有者 AllowedScopes={ "sample_api" } // 設定該使用者端允許存取的api範圍 } };
// 資源擁有者認證 var tokenResponse = await client.RequestPasswordTokenAsync( new PasswordTokenRequest { Address = disco.TokenEndpoint, ClientId = "sample_pass_client", ClientSecret = "sample_client_secret", UserName="admin", Password="123" } );
1、’postman模擬請求 http://localhost:5001/connect/token 獲取token
2、使用token請求api
3、Client專案模擬使用者端請求
學習連結:https://www.cnblogs.com/stulzq/p/7509648.html