[英]Chrome ignores Set-Cookie response headers from XMLHttpRequest within extension
我在 Chrome 扩展中有一个后台页面,它向服务器发出请求。 通过使用 Chrome 的调试工具,我可以看到返回了各种Set-Cookie
标头。 但是,后续请求不包含这些 cookies - Chrome 似乎将它们扔掉了。 这导致向服务器发出的每个请求都被计为一个新的 session。
服务器端我设置了以下标头:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
客户端我在 XMLHttpRequest object 上设置了withCredentials = true
。
我在扩展清单的权限部分也有服务器的地址。
我觉得我在这里非常接近解决方案 - 服务器正在响应正确的标头,但我不太明白为什么 Chrome 决定不存储 cookies。
我还需要在标题中设置什么,XMLHttpRequest object 或清单? 或者这是不可能的?
我终于解决了这个问题。 诀窍是将“cookies”权限放入扩展清单。 这并不明显,因为 Chrome 扩展文档仅指出,如果您使用的是 chrome.cookies API,则需要它 - 我不是。
您还必须启用第三方 cookies。 所以我可能需要一个完全不同的解决方案,因为我不想推荐启用第三方 cookies。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.