gpt4 book ai didi

javascript - Chrome 扩展程序不发送 SameSite=Lax cookie

转载 作者:行者123 更新时间:2023-12-02 00:31:29 27 4
gpt4 key购买 nike

我在通过弹出脚本的 chrome 扩展处理 cookie 时遇到了一些问题。

popup.js 内容:

document.addEventListener('DOMContentLoaded', () => {
function cookieinfo() {
chrome.cookies.getAll({url: 'http://localhost:8080'}, function(cookie) {
console.log('Found cookie: ', cookie)
if (cookie == null)
return;

fetch('http://localhost:8080', {credentials: 'include'}).then((response) => {
// do some stuff
return response;
});
});
}
window.onload=cookieinfo;
}, false);

我执行的步骤:

  1. 在本地主机上登录我的应用程序(所以我得到了 cookie)
  2. 打开弹出窗口(因此执行 popup.js)
  3. 我在控制台日志中看到 chrome 找到了必要的 cookie
  4. 服务器说传入请求有空 cookie
  5. 我刷新本地主机应用程序的页面
  6. 我现在退出了

也许有人知道我做错了什么?

编辑:

看来原因是我的 cookie 有参数 HttpOnly=trueSameSite=Lax ( related link )。我可以在服务器日志中看到另一个 cookie。但由于 this thread如果 credentials 参数设置为 include,将发送所有 cookie,甚至是 httpOnly cookie。由于 this answer,我还尝试将它发送到 127.0.0.1 而不是本地主机结果相同。

我无法将 httpOnly 设置为 false。这是框架强制的。有人知道如何解决吗?

编辑2:

我终于安装了 Cookie 编辑器,发现是 SameSite=Lax 的原因。如果我将它设置为 No Restriction,那么我将在服务器端看到它。不幸的是,我使用的框架只允许 LaxStrict 选项(Chrome 扩展失败了)。有谁知道如何从 Chrome 扩展程序发送 Lax cookies?

最佳答案

这是 Chromium 77 版之前的扩展问题。当跨站点 cookie 设置为 SameSite=LaxSameSite=Strict 时,不会发送 cookie与跨站请求。

此问题已在所有平台的版本 78 中得到修复。现在,Chrome 扩展在 SameSite=LaxSameSite=Strict 时发送 cookie。

引用资料:

https://bugs.chromium.org/p/chromium/issues/detail?id=1007973

https://chromium-review.googlesource.com/c/chromium/src/+/1827503

https://bugs.chromium.org/p/chromium/issues/detail?id=617198

关于javascript - Chrome 扩展程序不发送 SameSite=Lax cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51731231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com