我正在使用react.js构建通用的web应用程序。我使用express进行服务器端渲染,还有另一个server-side api server从数据库中传递json对象。
因此,当我react客户端获取signIn或signUp的应用程序接口时,应用程序接口服务器会制作JWT令牌,并在响应的Set-Cookie头中设置带有httpOnly选项的cookie,以防止出现安全问题。
在api服务器响应后,我可以在google chrome检查器的application标签页中找到cookie。
在这里我的问题开始了。由于httpOnly选项,客户端无法读取document.cookie,因此没有方法说服检查会话在每次页面刷新时都是有效的。
我该如何处理这件事?
天真的方法可能是从响应中摆脱httpOnly选项,但可能会带来另一个糟糕的安全性问题。
发布于 2020-11-05 16:47:19
据我从您的问题中了解到,您希望您的React应用程序检查cookie是否存在,不幸的是,根据我的知识,只要cookie是httpOnly cookie,就永远不可能做到这一点,因为如果这是可能的,那么它将违背将服务器会话cookie标记为httpOnly的目的。
请注意以下有关httpOnly cookies的信息
An HttpOnly cookie is not accessible via non-HTTP methods, such as calls via JavaScript (e.g"document.cookie")
那么现在要知道用户是否有会话cookie的解决方案是什么?
假设用户的
了
https://stackoverflow.com/questions/64682295
复制相似问题