我在 Chrome 扩展中有一个后台页面,它向服务器发出请求。通过使用 Chrome 的调试工具,我可以看到Set-Cookie
返回了各种标头。但是,后续请求不包含这些 cookie - Chrome 似乎将它们丢弃。这导致向服务器发出的每个请求都被计为一个新会话。
服务器端我设置了以下标头:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
我withCredentials = true
在 XMLHttpRequest 对象上设置了客户端。
我在扩展清单的权限部分也有服务器的地址。
我觉得我非常接近这里的解决方案 - 服务器以正确的标头响应,但我不太明白为什么 Chrome 决定不存储 cookie。
我还需要在标头、XMLHttpRequest 对象或清单中设置其他内容吗?或者这是不可能的?