我們已決定使用OAuth2從Hazelcast共享會話切換到無狀態JWT身份驗證/授權,並發現了一個不適合我們下面描述的基礎架構的問題。如何使用OAuth2靜默刷新過期的JWT令牌?
所以我們有可能通過直接鏈接訪問多個自足系統(SCS)即mysite.com/scs1和mysite.com/scs2。
每個特戰隊都有它自己的UI和後端,但「會議」(通過無狀態JWT授權實現)必須是跨越多個scs'es有效。
OAuth2 Authorizaion Server是一個專用服務器(UAA)。 在OAuth2術語中,每個scs都是資源服務器。
我們假設用戶已經登錄到scs1(通過UAA)並獲得了TTL = 10分鐘的JWT和TTL = 30分鐘的RefreshToken。然後他在瀏覽器中離開該標籤15分鐘。 JWT到期,但該選項卡仍包含前一頁scs1。然後用戶點擊該頁面上的鏈接mysite.com/scs3。
scs3收到一個請求,檢查JWT並發現它已過期。但是我們有一個RefreshToken(仍然活着15分鐘),可以刷新智威湯遜。
是否有可能從scs3返回響應,要求瀏覽器轉到UAA並默默刷新JWT?
也許某種重定向與添加RefreshToken頭的能力/ UAA /授權?