胡子哥哥
2022-06-16 15:20:56
我讀過在 localStorage 中保存令牌 JWT 是一種不好的做法。 https://dev.to/rdegges/please-stop-using-local-storage-1i04 我正在使用 ReactJs,而在另一邊有一個使用 NodeJs 的 API Rest。我應該在哪里以及如何將令牌 JWT 保存在 Cookie 中?
2 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
如果在 cookie 和 localStorage 之間進行選擇,那么在安全性方面兩者各有利弊。正確設置所有安全屬性(HttpOnly、secure、SameSite=strict)確實可以更好地保護 cookie 免受某些攻擊。
但是,SameSite 屬性可能并不適用于所有人,并且可能無法保護所有功能免受 CSRF(跨站點請求偽造)攻擊。
HttpOnly 將保護該值不被 JavaScript 訪問,如果應用程序遭受 (XSS) 跨站點腳本漏洞,這是很好的。但是,任何中等資格的攻擊者都可以輕松實現他們想要的,而無需訪問令牌的實際價值。
在 localStorage 中存儲令牌時要記住的是,當瀏覽器關閉時它不會被清除,這意味著用戶不會通過關閉瀏覽器而注銷 - 這是許多人所期望的。如果這是一個問題,您可能需要考慮將 JWT 存儲在 sessionStorage 中。

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
localStorage 看起來不錯,因為很多人都在使用 localStorage。
如果您想要額外的安全功能您可以縮短令牌的生命周期,例如 {30 min, 60 min}
您還可以檢查您的用戶活動狀態用戶是否會自動注銷
添加回答
舉報
0/150
提交
取消