簡體   English   中英

使用Node.js在JWT中存儲秘密信息-Express后端

[英]Storing secret info in JWT, using Node.js - Express backend

我正在開發一個通過RESTful API與后端通信的Angular Web應用程序。 目前,我正在使用JWT來存儲狀態(當前用戶ID等)。 我使用jsonwebtoken和passport-jwt軟件包通過Node.js-Express應用程序實現JWT。

有時,我可能需要在狀態中存儲與會話相關但用戶不應該知道的某些信息(例如,秘密加密密鑰)。

由於JWT有效負載已簽名但未加密,因此任何希望對其進行解碼的人都可以清楚地看到其內容,因此不適合將秘密內容直接存儲在有效負載中。 盡管我可以對整個JWT字符串或僅對有效負載中的秘密變量值實施某種自制的加密,但我正在尋找“正確”或“傳統”的方式來進行處理。

最好的方法是僅將其存儲在后端(最好是散列的某種持久性存儲)中。

如果無法做到這一點,那么您可以將其存儲在JWT中,但需要先對數據進行加密,然后再將其放入其中。

Bcrypt可能是最安全的最簡單解決方案,是https://www.npmjs.com/package/bcryptjs 請注意,您想要的安全性越高,加密速度就越慢。

暫無
暫無

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

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