基于網(wǎng)關(guān)的驗(yàn)證包Ocelot.JwtAuthorize該怎么理解,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)專(zhuān)注于秦安企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開(kāi)發(fā)。秦安網(wǎng)站建設(shè)公司,為秦安等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
Ocelot作為基于.net core的API網(wǎng)關(guān),有一個(gè)功能是統(tǒng)一驗(yàn)證,它的作用是把沒(méi)有訪問(wèn)權(quán)限的請(qǐng)求擋在API網(wǎng)關(guān)外面,而不是到達(dá)API網(wǎng)關(guān)事端的API時(shí)才去驗(yà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ì)客戶(hù)端帶的Token作驗(yàn)證,查看Token是否正確,是否過(guò)期,如果沒(méi)有問(wèn)題,再對(duì)該用戶(hù)作權(quán)鑒,該用戶(hù)是否有權(quán)限訪問(wèn)本API接口;這樣看來(lái),登錄獲取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
使用也非常簡(jiǎn)單,首先有統(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,前提是用戶(hù)有正確的用戶(hù)名密碼,所以要做一個(gè)登錄的Colloer和Action來(lái)實(shí)現(xiàn),注意登錄時(shí)Claim中的信息是在API項(xiàng)目中驗(yàn)證權(quán)限的信息。
3、API項(xiàng)目中在Startup的ConfigureService方法中注入
看完上述內(nèi)容,你們掌握基于網(wǎng)關(guān)的驗(yàn)證包Ocelot.JwtAuthorize該怎么理解的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!