作者:as1dzx | 来源:互联网 | 2022-12-03 14:45
我的SPA使用React作为前端,使用laravel API作为后端。
当用户登录时(通过axios和api),api将返回访问(承载者令牌)作为响应。我使用react-COOKIE框架将访问令牌作为COOKIE存储在浏览器中。该COOKIE将被读取并用于以后的任何请求。
这是正确的方法吗?COOKIE数据不只是浏览器中可以被任何攻击者轻易获得的东西吗?由于它只是一个文件,因此可以放在计算机的某个位置。
是什么阻止了攻击者获取该COOKIE,冒充该用户并开始执行需要身份验证的操作?
该令牌的使用寿命为1年。仅在用户每次登录时才会刷新。我知道,如果将寿命设置得较短,它将更加安全。但是,这是否意味着用户将不得不不断登录?
-----更新-----
我不确定所提供的解决方案是否回答了我的问题。SPA应用程序是基于前端的,并且该请求可以来自任何地方,例如邮递员,移动应用程序或希望与我的后备服务器通信的任何第三方设备。因此,这些设备需要一种在本地存储一些访问令牌以用于将来任何请求的方法。
我知道这可能发生的唯一方法是服务器将一些身份验证令牌发送给请求者,并将其存储在某个地方以用于下一个请求。
在这种情况下,我不确定CSRF令牌或其他任何方式是否可以帮助我解决问题?
就像facebook一样,如果我清除缓存,则必须重新登录。这意味着facebook正在我的位置计算机上存储一些东西,以便下次可以自动对我进行身份验证