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

2024-01-14

我在通过弹出脚本的 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. 我现在已退出

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

Edit:

看来是我的cookie有参数的原因HttpOnly=true and SameSite=Lax (相关链接 https://stackoverflow.com/a/37674900/5008606)。我可以在服务器日志中看到另一个cookie。但由于这个线程 https://stackoverflow.com/q/30013131/5008606所有 cookie 将被发送,如果credentials参数设置为include,甚至是 httpOnly cookie。我还尝试将其发送到 127.0.0.1 而不是 localhost,因为这个答案 https://stackoverflow.com/a/1188145/5008606结果相同。

我无法设置httpOnly为假。这是框架强制的。有人知道如何修复它吗?

Edit2:

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


这是 Chromium 版本 77 之前的扩展的问题。当跨站点 cookie 设置为SameSite=Lax or SameSite=Strict,cookie 没有随跨站请求一起发送。

此问题已在所有平台的版本 78 中修复。现在 chrome 扩展程序会在以下情况下发送 cookieSameSite=Lax or SameSite=Strict.

参考:

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 扩展程序不发送 SameSite=Lax cookie 的相关文章

随机推荐

  • 清理遗留代码“header spaghetti”

    任何清理 标题意大利面 的推荐做法 这会导致极其严重的后果 编译时间慢 Linux Unix GCC 中是否有相当于 pragma Once 的东西 发现与此相关的冲突消息 Thanks 假设您熟悉 包含防护 ifdef 在标头开头 加快构
  • 使用 opencv 从 SIFT 生成百分比相似度分数

    在 python 2 7 x opencv 2 4 9 中使用 SIFT 比较两个图像后 我一直试图找到一种生成相似性得分 以 为单位 的方法 我只能找到在比赛之间画线的例子 我该怎么做呢 Matlab 中有一个相当于 vl ubcmatc
  • 在 for 循环中等待点击事件 - 类似于prompt()

    这可能没有最伟大的标题 我试图理解回调函数 我想知道如何在不丢失 for 循环的情况下替换以下代码中的提示 for i 0 i lt 4 i let x prompt Input an integer store input into an
  • JAXB 解组验证抛出 cvc-elt.1: 找不到元素声明错误

    我对 JAXB 和验证有点陌生 并且花了几个小时试图解决这个问题 但无济于事 我创建了一个简单的 JAXB 解组器示例来解析 XML 文件 我也创建了一个适当的 XSD 文件 但验证器一直抱怨它无法找到元素的声明 我认为这可能与命名空间问题
  • 从多列表框中取消选择时如何获取当前选定的选项值

    您好 我有如下所示的多选列表框 div class id 100 div
  • scipy 链接格式

    我已经编写了自己的聚类例程 并希望生成树状图 最简单的方法是使用 scipy dendrogram 函数 但是 这要求输入的格式与 scipy 链接函数生成的格式相同 我找不到如何格式化输出的示例 我想知道是否有人可以启发我 我同意http
  • 这也叫适配器吗? + 适配器与装饰器

    我有 2 个项目 A 和 B 它们应该相互交互 项目A引入接口名称ISpecialTask 项目B应该实现它 Projet B 有一个名为 TaskWithListOfProperties 的实体 该实体无法实现 ISpecialTask
  • C++ 支持成员函数引用吗?

    C 允许函数指针 and 函数参考 https stackoverflow com questions 480248 function references 它还允许指向成员函数的指针 But 是否允许引用成员函数 我似乎无法从标准中推断出
  • Emacs 颜色。为什么当前行是灰色的?森伯恩主题

    我安装了Prelude https github com bbatsov prelude在我的 emacs24 上 我使用的是ubuntu 12 04 我第一次使用它时效果很好 但接下来的次数就不行了 在我当前的行上 字体颜色是灰色的 因此
  • ngx-翻译和 *ngFor

    我有这个代码 div span img alt span h4 service name h4 p service desc p div 如何对具有 3 个参数的每个服务进行翻译 在正常情况下我使用 something translate
  • 在 Keras 中,当我创建具有 N 个“单元”的有状态“LSTM”层时,我到底要配置什么?

    正常的第一个参数Dense层也是units 是该层中神经元 节点的数量 然而 标准 LSTM 单元如下所示 这是 的修改版本 了解 LSTM 网络 http colah github io posts 2015 08 Understandi
  • 使用 Lumen 获取 file_get_contents

    我将此代码放入函数 php 类 中 theFile test test xml these are in the public folder dd file get contents theFile 如果我去mydomain local t
  • 基于两个表之间的子查询的Oracle SQL更新

    我目前正在编写更新语句 以使可查询的表不断保持最新 两个表之间的架构相同 内容并不重要 STAGING ID NAME COUNT PRODUCTION ID NAME COUNT 我的更新语句如下所示 update PRODUCTION
  • C# 小数类型除法的精度在 Mono 上不同?

    decimal d1 4 0m decimal d2 40 0m decimal d d1 d2 string repr d ToString 在 Windows 上 我得到的 repr 为 0 1 在 Mono Xamarin Andro
  • 为什么未初始化的属性在课堂上公开?

    请考虑以下代码 class foo function bar this gt baz hello there f new foo f gt bar echo f gt baz hello there 为什么上面的代码有效 我的意思是我还没有
  • Oracle CASE 语句?

    我有一个存储过程 我在其中传递布尔值 例如IS ELIGIBLE 现在我希望能够编写如下查询 SELECT col1 CASE WHEN IS ELIGIBLE THEN col2 100 ELSE col2 50 END INTO OUT
  • JavaFX 导航栏和内容窗格

    我想在我的新项目中使用 JavaFX 并且想要像下面的屏幕截图所示的东西 在左侧网站上我需要一个导航栏 在右侧网站上我需要一个内容 因此 我会在左侧使用 VBox 在右侧使用 AnchorPane 或者更好的是 ScrollPane 当我单
  • Terraform:heredoc 锚点中的无效字符

    我正在尝试在中使用多行字符串provisioner remote exec 我的 Terraform 脚本块 然而每当我使用EOT文档和各种示例中概述的语法我收到一个错误 抱怨有 invalid characters in heredoc
  • 包含 json 的数据属性中的单引号

    化妆品问题 我有一个 html 元素 其中包含一些嵌入图像的可能尺寸 这些尺寸存储为 div class inside div
  • Chrome 扩展程序不发送 SameSite=Lax cookie

    我在通过弹出脚本的 chrome 扩展处理 cookie 时遇到一些问题 popup js 内容 document addEventListener DOMContentLoaded gt function cookieinfo chrom