结合zuul网关的鉴权流程
生活随笔
收集整理的這篇文章主要介紹了
结合zuul网关的鉴权流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結合Zuul的鑒權流程
我們逐步演進系統架構設計。需要注意的是:secret是簽名的關鍵,因此一定要保密,我們放到鑒權中心保存,其它任何服務中都不能獲取secret。
?
沒有RSA加密時
在微服務架構中,我們可以把服務的鑒權操作放到網關中,將未通過鑒權的請求直接攔截,如圖:
-
1、用戶請求登錄
-
2、Zuul將請求轉發到授權中心,請求授權
-
3、授權中心校驗完成,頒發JWT憑證
-
4、客戶端請求其它功能,攜帶JWT
-
5、Zuul將jwt交給授權中心校驗,通過后放行
-
6、用戶請求到達微服務
-
7、微服務將jwt交給鑒權中心,鑒權同時解析用戶信息
-
8、鑒權中心返回用戶數據給微服務
-
9、微服務處理請求,返回響應
發現什么問題了?
每次鑒權都需要訪問鑒權中心,系統間的網絡請求頻率過高,效率略差,鑒權中心的壓力較大。
?
結合RSA的鑒權
直接看圖:
-
我們首先利用RSA生成公鑰和私鑰。私鑰保存在授權中心,公鑰保存在Zuul和各個信任的微服務
-
用戶請求登錄
-
授權中心校驗,通過后用私鑰對JWT進行簽名加密
-
返回jwt給用戶
-
用戶攜帶JWT訪問
-
Zuul直接通過公鑰解密JWT,進行驗證,驗證通過則放行
-
請求到達微服務,微服務直接用公鑰解析JWT,獲取用戶信息,無需訪問授權中心
總結
以上是生活随笔為你收集整理的结合zuul网关的鉴权流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jwt及加密算法
- 下一篇: 编写Controller方法