我在我的專案中使用 jwt 令牌。用于對受保護資源進行身份驗證的長期重繪 令牌和短期訪問令牌。重繪 令牌保存在 http-only cookie 中以降低 xss 攻擊的風險。訪問令牌將僅存盤在我前端的 vuex 存盤中。如果用戶更改密碼,我應該更新我的重繪 令牌嗎?我沒有在我的資料庫中存盤重繪 令牌,因為據我了解 jwts 的主要目的是我可以使用密碼學來驗證我傳入的重繪 令牌并且不必在我的資料庫中查找它(然后我不必須使用 jwts)。
但是如何使已發送的重繪 令牌無效,例如在其他設備或瀏覽器上?如果我不使用資料庫來存盤重繪 令牌,只要過期時間是令牌就有效。我很感激任何建議。
uj5u.com熱心網友回復:
由于您不在資料庫中存盤令牌,因此您無法遠程使它們無效。但是有一些常見的做法可以克服這個問題。
注意:這些不是標準,只是大公司的做法。
1. 將令牌存盤在快取資料庫中(不在主資料庫中)
存盤JWT tokens在快取資料庫中,例如Redis或Memcached將允許您更快地檢索和驗證令牌。要使令牌無效,您只需將其從快取中洗掉。
2. 使用短期訪問和重繪 令牌
很多安全提交中都提到了這一點。專家說要為訪問和重繪 令牌設定一個非常短的生命周期(以分鐘為單位)。此外,每次獲得新的訪問令牌時都要交換重繪 令牌。這個更新程序可以在后臺進行(可能使用工人)。所以你不需要使令牌失效,它會在幾分鐘后自動失效。
推薦你看這個: https : //www.youtube.com/watch?v=rCkDE2me_qk
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/342596.html
標籤:javascript Vue.js jwt 刷新令牌
