我正在使用JWT令牌进行身份验证和授权。登录后,我想将令牌的值存储在前端(React js(中,这样我们就可以在服务器上发送令牌,以便根据React js中不同组件的不同api调用来验证node js中的不同路由。我正在React js中创建应用程序。出于安全考虑,我不想存储在本地存储或cookie中。告诉我更好的储存方式。
在任何需要持久化令牌的情况下,您都会遇到安全问题。
推荐的方法是使用httpOnly cookie,该cookie不能从javascript访问,您不需要担心在每个请求中发送令牌,该cookie是当前在web应用程序中维护会话的"安全"选项。
另一方面,你仍然可以在localStorage中使用JWT,但是的,在XSS攻击可能被盗的情况下,但让我们谈谈安全性,如果有人可以注入JS代码,他们仍然可以用该会话做任何事情,这是httpOnly cookie的唯一区别,他无法保存凭据以备日后使用或从另一台计算机使用(当然,这会让黑客更难处理,但你仍然可以做任何事情(。
在使用联合身份验证的情况下需要JWT,即使JWT被盗,也是因为第三方已经可以访问JS运行时,所以重要的是不要"让令牌被盗",不要允许外部代码在应用程序中运行