簡體   English   中英

JWT令牌SSO流程

[英]JWT token SSO flow

我有一個關於使用JWT的SSO流程的簡單問題

假設我們有單獨的授權服務器,它將JWT提供給客戶端應用程序/服務器和資源服務器,客戶端嘗試使用該令牌進行訪問。

在此輸入圖像描述

問題是,資源服務器應該自己驗證令牌(例如與Auth Server共享私有證書)還是應該請求Auth Server為每個客戶端請求驗證JWT?

JWT規范在構建時考慮了可擴展性。 JWT設計的目的是任何受信任的應用程序都可以驗證簽名塊。 如果您關心性能,請使用SHA-256 HMAC並使用共享密鑰在每個端點上本地驗證簽名。 對JWT使用非對稱簽名會產生開銷,但是您可以將公鑰存儲在驗證但不頒發JWT的端點上,然后將中心權限上的私鑰存儲在頒發令牌的私鑰上。 驗證和發布之間的這種關注分離降低了對手可以破壞令牌創建過程的可能性(閱讀:縱深防御)。

如果您需要實時撤銷令牌,則需要一個驗證每個令牌的中央權限。 這是有效的,但是它違背了JWT設計的目的,並且系統最好只發出一個cryptogrpahic nonce作為令牌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM