我最近發現JWT用於令牌認證+授權。 我認爲在令牌中包含用戶信息是非常有用的,所以我試圖在Java/Spring Web項目中使用它。REST安全與JWT
起初,我的印象是:如果我有令牌中的所有用戶數據,我不需要將它存儲在應用程序數據庫中,也不需要爲每個服務請求檢索用戶+會話信息。這太棒了,可以有效提高服務訪問性能。
但現在我對我的使用案例JWT「限制」有一些疑問。例如:如果用戶被服務管理員禁用並且最後生成的令牌尚未過期,該怎麼辦?用戶可以訪問該服務,即使它實際上未經授權...
這是JWT的限制還是我錯過了什麼?你能澄清我的疑問嗎?
在我看來,每個需要訪問數據庫的選項使JWT無效,所以我認爲第三個選項可能是我的用例的實際解決方案......謝謝 – davioooh
我同意避免使用數據庫。如果您不希望有太多的令牌被撤銷,您也可以使用內存中的黑名單。您只需在更新用戶和'currentTime - maxExpiryTime last_modified'(不再發送未過期的令牌)時,該條目可以被放棄。 –
pedrofb