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