identityServer4-客戶端模式

客戶端模式

開(kāi)始以前請(qǐng)先看下阮一峰大神的OAuth2.0的博客,或者這個(gè)系列的前兩篇關(guān)于OAuith和openid的介紹,對(duì)這兩個(gè)東西有個(gè)大概的了解,同時(shí)貼出一些參考的博客

授權(quán)服務(wù)器搭建

第一步安裝identityServer4

Install-Package identityserver4

第二步編寫配置類

我們新建一個(gè)叫identityServerContent的webapi的項(xiàng)目
添加一個(gè)config類

//config 
public class config {
      //配置api resource
   public static List<ApiResource> GetResources()
   {
        return new List<ApiResource>
        {
               new ApiResource('api','My API')
        }      
   }
    
   public static List<Client> GetClients()
   {
       return new List<Client>()
      {
          new Client()
          {
                ClientId="client",
                AllowedGrantTypes= GrantTypes.ClientCredentials,//模式:最簡(jiǎn)單的模式
                ClientSecrets={//私鑰
                        new Secret("secret".Sha256())
                },
                AllowedScopes={//可以訪問(wèn)的Resource
                        "api"
                }
          }
      }
   }

}
第三步注入identityServer4

在Startup.cs中注入ids4

services.AddIdentityServer()
    .AddDeveloperSigningCredential()//添加開(kāi)發(fā)人員簽名憑據(jù)
    .AddInMemoryApiResources(Config.GetResources())//添加內(nèi)存apiresource
    .AddInMemoryClients(Config.GetClients());//添加內(nèi)存client

到此我們的授權(quán)服務(wù)端算是完成了

客戶端集成IdentityServer

安裝包

首先新建一個(gè)webapi的項(xiàng)目,同時(shí)安裝中間件
dotnet new webapi --name ClientCredentialApi
Install-Package IdentityServer4.AccessTokenValidation

注入Di
services.AddAuthentication("Bearer")//添加授權(quán)模式
    .AddIdentityServerAuthentication(Options=>{
        Options.Authority="http://localhost:5000";//授權(quán)服務(wù)器地址
        Options.RequireHttpsMetadata=false;//是否是https
        Options.ApiName="api";
   });

同時(shí)把所有控制器打上[Authorize]的標(biāo)記,到此我們客戶端配置已經(jīng)完成了

使用postman來(lái)測(cè)試接口

我們分別啟動(dòng)這兩個(gè)項(xiàng)目,5000端口代表授權(quán)服務(wù)器,5001代表Api服務(wù)器
1.使用postman來(lái)測(cè)試調(diào)用

到此我們的客戶端模式編寫完成,下篇我們將開(kāi)始密碼模式
推薦參考 博客園 曉晨master大佬的identityServer4系列

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容