上一篇博客中,自己動(dòng)手寫了一個(gè)Middleware來處理API的授權(quán)驗(yàn)證,現(xiàn)在就采用另外一種方式來處理這個(gè)授權(quán)驗(yàn)證的問題,畢竟現(xiàn)在也

有不少開源的東西可以用,今天用的是JWT。

什么是JWT呢?JWT的全稱是JSON WEB TOKENS,是一種自包含令牌格式。官方網(wǎng)址:https://jwt.io/,或多或少應(yīng)該都有聽過這個(gè)。

先來看看下面的兩個(gè)圖:

站點(diǎn)是通過RPC的方式來訪問api取得資源的,當(dāng)站點(diǎn)是直接訪問api,沒有拿到有訪問權(quán)限的令牌,那么站點(diǎn)是拿不到相關(guān)的數(shù)據(jù)資源的。

就像左圖展示的那樣,發(fā)起了請(qǐng)求但是拿不到想要的結(jié)果;當(dāng)站點(diǎn)先去授權(quán)服務(wù)器拿到了可以訪問api的access_token(令牌)后,再通過這個(gè)

access_token去訪問api,api才會(huì)返回受保護(hù)的數(shù)據(jù)資源。

這個(gè)就是基于令牌驗(yàn)證的大致流程了??梢钥闯鍪跈?quán)服務(wù)器占著一個(gè)很重要的地位。

下面先來看看授權(quán)服務(wù)器做了些什么并如何來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的授權(quán)。

做了什么?授權(quán)服務(wù)器在整個(gè)過程中的作用是:接收客戶端發(fā)起申請(qǐng)access_token的請(qǐng)求,并校驗(yàn)其身份的合法性,最終返回一個(gè)包含

access_token的json字符串。

如何實(shí)現(xiàn)?我們還是離不開中間件這個(gè)東西。這次我們寫了一個(gè)TokenProviderMiddleware,主要是看看invoke方法和生成access_token

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式