加密,然后将访问令牌存储在localStorage中

时间:2019-03-07 02:42:10

标签: javascript reactjs api jwt

用户登录后,我的API返回访问令牌。

将来所有的请求都必须在Authentication标头中包含此令牌。

我希望用户即使关闭并重新打开浏览器也能保持登录状态。

我可以安全地将此访问令牌的加密版本存储在localStorage中,对其进行检索,在我的React客户端代码中对其进行解密并将其发送给API吗?

1 个答案:

答案 0 :(得分:2)

当然,您可以使用https://www.npmjs.com/package/aes-js之类的东西,也可以使用https://www.npmjs.com/search?q=keywords:encrypt之类的其他库。

我认为真正的问题是为什么?用户始终可以在开发工具的网络请求中看到未加密的值。如果访问令牌与用户拥有的用户名和密码绑定在一起,为什么他们看不到?实际上,这只是写用户名和密码的另一种方式。如果它与属于您的应用程序的用户名相关联(例如您的服务器使用该用户名登录所有请求的另一台服务器,而不仅仅是该用户),则不要将其传递给浏览器,因为它是容易偷。