我有一个角度6项目,我正在使用JWT . 但是,我无法决定在哪里可以存储用户信息(很多信息) . 如果我使用JWT,那么JWT会非常大 . 我认为这有四种可能性 . 但哪一个更好,并建议这样做?
1) Local Storage (in browser)
2) SessionStorage (in browser)
3) JWT
4) Variable (我认为这很糟糕,因为如果我刷新页面就会消失 . )
您可以在本地存储/ indexDb或jwt令牌中执行此操作
1)如果你在你的JWT令牌中这样做,那么你每次想要使用用户信息时都必须解码令牌(不太可取) .
pro -> user info will be encrypted into the token
2)如果你将它存储在本地存储或indexDb中,那么你可以直接使用它来获取它的快速和简单(可预先设定)的值 .
con - >用户信息将通过本地存储或indexDb公开
如果您对暴露用户没问题,那么我建议您使用第二种方法 .
如果不在DB服务器中写入,则可以在屏幕中使用all,但本地存储用于ui的首选项,系统首选项的SessionStorage . JWT更适合敏感数据,例如传输到服务器的人员,而变量适用于对页面不敏感的解析数据 . 您必须首先看到您的业务以做出您的决定,例如:存在业务,如您所使用的本地存储和SessionStorage以及您可以使用的存储,如果非常必要的话
2 回答
您可以在本地存储/ indexDb或jwt令牌中执行此操作
1)如果你在你的JWT令牌中这样做,那么你每次想要使用用户信息时都必须解码令牌(不太可取) .
2)如果你将它存储在本地存储或indexDb中,那么你可以直接使用它来获取它的快速和简单(可预先设定)的值 .
如果您对暴露用户没问题,那么我建议您使用第二种方法 .
如果不在DB服务器中写入,则可以在屏幕中使用all,但本地存储用于ui的首选项,系统首选项的SessionStorage . JWT更适合敏感数据,例如传输到服务器的人员,而变量适用于对页面不敏感的解析数据 . 您必须首先看到您的业务以做出您的决定,例如:存在业务,如您所使用的本地存储和SessionStorage以及您可以使用的存储,如果非常必要的话