簡體   English   中英

2019 年我應該在哪里存儲我的 JWT,localStorage 真的不安全嗎?

[英]Where should I store my JWT in 2019 and is the localStorage really not secure?

有趣的話題。 由於我正在使用Node.js ApiReact Redux Client創建我的第一個真正更大的項目,因此我需要身份驗證。

現在我不知道如何“以正確的方式”處理身份驗證。

因為我閱讀了很多關於它的主題,但意見不同。

所以一開始有人會立即說:不要在 JWT 中使用 localStorage。

例如這里有一篇文章: https : //dev.to/rdegges/please-stop-using-local-storage-1i04

這是 auth0 的另一篇文章: https ://auth0.com/docs/security/store-tokens

但后來我深入挖掘了身份驗證的廣闊世界,我發現很多人都在說:

“localStorage 和 cookie 一樣安全”

比如第一篇第一條評論,第三條回復(這里有一個鏈接: https : //dev.to/jondubois/comment/373l

我的意思是他說得對嗎? 在閱讀了該文章以及其他一些文章和評論后,如果您不是擁有非常合理數據的銀行,則將其存儲在 localStorage 中完全沒問題。

所以我在 2019 年,不是初學者,也不是有經驗的開發人員,問自己我應該如何實現這個身份驗證流程而不會過於復雜(例如,有將 jwt 存儲到 httpOnly cookie 的流程)但是在另一方面也不是很容易被破解。

我正在嘗試創建一個論壇應用程序。 您可以注冊,創建自己的論壇,然后其他用戶可以注冊此論壇。 如此基本的身份驗證,我只使用 JWT 發送 user_id 和令牌。

我真的很感激你在這里提出意見和建議。

我也在尋找這個答案,最后,我找到了關於 JWT 令牌安全性的非常有趣和有用的文章,即:
- https://security.stackexchange.com/questions/179487/store-splitted-jwt-for-csrf-protection-and-refresh-strategy
- https://medium.com/@jcbaey/authentication-in-spa-reactjs-and-vuejs-the-right-way-e4a9ac5cd9a3
TL; DR 您應該使用httpOnly: true參數將令牌的第一部分存儲在 cookie 中, httpOnly: true令牌的其余部分存儲在沒有httpOnly參數的 cookie 中,Javascript 可以在瀏覽器中獲取並使用您的 JWT 有效負載信息。

在早期階段存儲 JWT 就像您需要的那樣簡單。 將它作為從服務器發回的散列存儲在 localstorage 中。 不是普通的 JWT 令牌。 並利用httpOnly

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM