我有兩個客戶端,一個是由普通最終用戶通過我們的網頁或本地應用程序登錄的一個公共客戶端,另一個是我們管理系統的一個機密客戶端。兩者都發布兩個智威湯遜,一個訪問令牌和一個刷新令牌。使用Spring oAuth2 impl,是否可以在刷新令牌授權期間「降級」訪問令牌的範圍?
公共客戶端不允許發佈管理權限。訪問令牌是短暫的,刷新令牌具有無限的使用壽命。
Confidential Client被允許發佈管理作用域。訪問令牌是短暫的,刷新令牌生存24小時。
一旦刷新令牌過期,使用Spring Security及其oAuth2實現來降級管理員用戶是否可能?也就是說,一旦用戶登錄了24小時,用戶沒有完全註銷,但在下次登錄時,他獲得兩個新的JWT,一個用於常規用戶訪問的訪問令牌和一個與該訪問級別相匹配的刷新令牌。我想我正在尋找Spring Security框架中的某種鉤子,它允許我以自定義的方式處理令牌過期。
隨着「下一次登錄」,我真的認爲「下一次與後端交互」,對不起。我猜想我無法更改刷新令牌的範圍,這真的回答了我的問題。你的建議很好,除非我得到太多的管理員互動。那麼我將失去分佈式授權的好處,並且我的帳戶服務的負載將會增加。我可能會再次結束會話緩存......如果不使用刷新令牌模式,我如何讓用戶使用JWT登錄並仍然可以(模擬)令牌的撤銷?我如何禁止使用name + pw登錄的用戶? –
使用承載令牌(自包含的JWT)的缺點之一是令牌撤銷變得更加混亂,RFC 7009通過聲明在這些情況下授權服務器和資源服務器之間的後端交互可用於提供立即訪問令牌撤銷。我不相信有一個涵蓋交互的標準。 –