在上一篇博客中,自己動手寫了一個Middleware來處理API的授權(quán)驗證,現(xiàn)在就采用另外一種方式來處理這個授權(quán)驗證的問題,畢竟現(xiàn)在也
有不少開源的東西可以用,今天用的是JWT。
什么是JWT呢?JWT的全稱是JSON WEB TOKENS,是一種自包含令牌格式。官方網(wǎng)址:https://jwt.io/,或多或少應(yīng)該都有聽過這個。
先來看看下面的兩個圖:
站點是通過RPC的方式來訪問api取得資源的,當站點是直接訪問api,沒有拿到有訪問權(quán)限的令牌,那么站點是拿不到相關(guān)的數(shù)據(jù)資源的。
就像左圖展示的那樣,發(fā)起了請求但是拿不到想要的結(jié)果;當站點先去授權(quán)服務(wù)器拿到了可以訪問api的access_token(令牌)后,再通過這個
access_token去訪問api,api才會返回受保護的數(shù)據(jù)資源。
這個就是基于令牌驗證的大致流程了??梢钥闯鍪跈?quán)服務(wù)器占著一個很重要的地位。
下面先來看看授權(quán)服務(wù)器做了些什么并如何來實現(xiàn)一個簡單的授權(quán)。
做了什么?授權(quán)服務(wù)器在整個過程中的作用是:接收客戶端發(fā)起申請access_token的請求,并校驗其身份的合法性,最終返回一個包含
access_token的json字符串。
如何實現(xiàn)?我們還是離不開中間件這個東西。這次我們寫了一個TokenProviderMiddleware,主要是看看invoke方法和生成access_token
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26