Ocelot.JwtAuthorize:一个基于网关的Jwt验证包
Ocelot作為基于.net core的API網(wǎng)關,有一個功能是統(tǒng)一驗證,它的作用是把沒有訪問權限的請求擋在API網(wǎng)關外面,而不是到達API網(wǎng)關事端的API時才去驗證;之前我有一篇博文Ocelot統(tǒng)一權限驗證,作過說明,這篇博文說明了實現(xiàn)代碼,今天我把這個實現(xiàn)作了整理,封裝成一個Nuget包,供大家方便調(diào)用。
Web API的驗證一般是用UserName和Password請求到Token,然后每次請求需要權限的API接口是把Token帶到請求的Header中,作為憑據(jù),API服端接收到請求后就要對客戶端帶的Token作驗證,查看Token是否正確,是否過期,如果沒有問題,再對該用戶作權鑒,該用戶是否有權限訪問本API接口;這樣看來,登錄獲取Tokent算一塊,成功登錄后,每次帶Token請求又分兩塊:一塊是驗證,一塊是鑒權,所以在Ocelot.JwtAuthorize中一共分三塊。
項目的源碼位于https://github.com/axzxs2001/Ocelot.JWTAuthorize
Nuget是https://www.nuget.org/packages/Ocelot.JwtAuthorize
使用也非常簡單,首先有統(tǒng)一的配置文件(網(wǎng)關項目中,API項目中,驗證項目中)
1、網(wǎng)關項目中在Startup的ConfigureService方法中注入services.AddOcelotJwtAuthorize()即可。
2、驗證項目中在Startup的ConfigureService方法中注入services.AddTokenJwtAuthorize(),同時驗證項目還有一個作用是分發(fā)Token,前提是用戶有正確的用戶名密碼,所以要做一個登錄的Colloer和Action來實現(xiàn),注意登錄時Claim中的信息是在API項目中驗證權限的信息。
3、API項目中在Startup的ConfigureService方法中注入
具體體安例參照https://github.com/axzxs2001/Ocelot.JWTAuthorize下的Sample。
相關文章
微服務網(wǎng)關Ocelot
Ocelot API網(wǎng)關的實現(xiàn)剖析
Ocelot——初識基于.Net Core的API網(wǎng)關
Ocelot網(wǎng)關
Ocelot統(tǒng)一權限驗證
Ocelot監(jiān)控
給Ocelot做一個Docker 鏡像
Ocelot + Consul實踐
.NET Core開源API網(wǎng)關 – Ocelot中文文檔
.NET微服務體系結構中為什么使用Ocelot實現(xiàn)API網(wǎng)關
.NET Core微服務之基于Ocelot實現(xiàn)API網(wǎng)關服務
.NET Core微服務之基于Ocelot實現(xiàn)API網(wǎng)關服務(續(xù))
原文地址: https://www.cnblogs.com/axzxs2001/p/9250588.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Ocelot.JwtAuthorize:一个基于网关的Jwt验证包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Identity Server 4 预备
- 下一篇: Swagger如何访问Ocelot中带权