Ids4 的使用說明

2021-10-07 17:41:32 字數 3134 閱讀 4922

ids4 全稱:identityserver4  是專門為 。net core 而生產了乙個中介軟體,目前是為了資料安全 做的鑑權中心

第一步:建立乙個空的core  api 專案:當然你要健 core mvc 也可以了,但是沒有必要,

第二步:引用 identityserver4  當前我引用的是2.2版本的,這個後面如果有更新最新的,就引用最新的應該沒有問題。

第三步:新增中介軟體  

需要注意一點:configureservices裡面新增的是:

services

.addidentityserver()

.adddevelopersigningcredential()

.addinmemoryapiresources(config.getapiresources())

.addinmemoryclients(config.getclients());

configure方法裡面新增的是,

其他的**跟ids4無關

需要注意的是services 裡面的config  是需要自己定義的類,然後在裡面例項化 ids4的引數

public void configureservices(iservicecollection services)

第四步 config類的建立 這裡整個類都複製出來,直接生產乙個檔案就可以使用了。

using identityserver4.models;

using system;

using system.collections.generic;

using system.linq;

using system.threading.tasks;

namespace identityserver;}

public static ienumerablegetclients()

,allowedscopes =}};}}}

第五步:啟動鑑權中心服務

該專案埠號自定義設定為 6000。所以訪問是:http://localhost:6000/connect/token

注意: connect/token 這個是固定不變的,是 ids4最近的方法,不是開發自定義的,所以只需要直接去用就可以了

主要需要注意 他的呼叫方式 跟引數

1:post方式呼叫

2:引數   client_id   client_secret  grant_type

3:引數值:上面的引數 對應的值分別是 :  記得上面配置了config,這3個值就是上面的config裡面配置的,

client_id 就是 clientid ,但是在postman裡面必須用  client_id  對應的值就是 client 了,這個自己設定 

client_secret  這個就是clientsecrets  對應的值就是自定義的:    secret

grant_type  就是乙個列舉了,allowedgranttypes  對應的值是 client_credentials  。

雖然列舉是:granttypes.clientcredentials,但是 傳的實際值是 client_credentials

呼叫介面如圖:

第六步:新建乙個api 做 ----關網    在nuget裡面先引用 ocelot ,同時也引用下 identityserver4.accesstokenvalidation

如圖:

第七步:在startup類中新增 

這裡中介軟體中加入 ocelot ,ocelot的配置 跟使用這裡就不說了,預設你會,不是本章說的內容,如果不會單獨去看 ocelot的文件。  這裡需要新增 :

在configureservices方法中新增

services

.addauthentication(jwtbearerdefaults.authenticationscheme)

.addidentityserverauthentication("testkey", options =>);跟

configure類中新增

public void configureservices(iservicecollection services));}

然後在閘道器的配置檔案裡面去新增 繼承 ids4的配置:

其中 "authenticationoptions":

這個就是配置鑑權中心ids4的。所以只需要配置這個就可以了

},第八步:啟動閘道器服務

第九步:啟動乙個服務a,這個服務a就是閘道器裡面的配置上寫的 下有位址。這個要對上,

第十步:調式:

不走閘道器直接訪問服務:

走閘道器 訪問該服務:記住了走閘道器的時候,需要做權健校驗的,

所以需要在authorization裡面新增   通過http://localhost:6000/connect/token 獲取的 access_token值

在type裡面選擇 oauth2.0  就有乙個需要讓你輸入的位址,輸入這串密文。就可以,就可以呼叫,

如果密文為空或者 不對,你可以試試,肯定是調不通介面,拿不到你需要的值。

二 IDS4配置服務

它是根據定義配置服務config.cs檔案來生成客戶端和api使用該服務所需的配置資料。一 ids4簽名服務 1 為專案新增nuget包。2 ids4服務制定的配置config.cs。using identityserver4.models using system using system.col...

IDS4(身份認證伺服器)筆記

使用 id4 是結合了 oauth2.0 和 openid的。openid是authentication n.證明 鑑定 證實 oauth是authorization n.授權,認可 批准,委任 前者是 對使用者進行認證,讓 知道 你是你所聲稱的url的屬主 後者其實並不包括認證,只不過 只有認證成...

junit4使用說明

junit比起和main函式寫的測試來說,有一下優點 1.測試和功能分開,比較明了。2.自動化,junit可以一次執行test包下面的所有測試,如果加上ant會更好。3.測試的配置比較多,exception和timeout等標籤。junit的命名建議 放在test包中,類以classnametest...