令牌黑名單
標記無效令牌,儲存到其到期時間並在每個請求中進行檢查。
黑名單打破了 JWT 無國籍狀態,因為它需要維持狀態。JWT 的一個好處是不需要伺服器儲存,因此如果你需要在不等待過期的情況下撤銷令牌,請考慮下行
管理黑名單
黑名單可以在你自己的服務/資料庫中輕鬆管理。儲存大小可能不會很大,因為它只需要儲存在登出和到期時間之間的令牌。
包括完整令牌或僅包含唯一 ID jti
。設定 iat
(釋出時間)以刪除舊令牌。
要在更新使用者關鍵資料(密碼,許可權等)後撤消所有令牌,請在 currentTime - maxExpiryTime < last iss
時使用 sub
和 iat
設定新條目。當 currentTime - maxExpiryTime > lastModified
(不再傳送未過期的令牌)時,可以丟棄該條目。