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...