gpt4 book ai didi

google-chrome-extension - 在 Chrome 扩展中使用时,Fetch API 不发送 session cookie

转载 作者:行者123 更新时间:2023-12-04 12:18:51 27 4
gpt4 key购买 nike

我正在尝试制作一个 Chrome 扩展程序,它使用 Fetch API 从 Github 上的 Pull Requests 中抓取一些细节,然后在其他地方显示它们。当我尝试将它与 Github 上的非公共(public)存储库一起使用时,我遇到了一些问题。我相信这与 CSRF 保护以及管理 Chrome 扩展程序访问 session cookie 的规则有关。

我的扩展程序的 manifest.json 中有以下内容:

"content_scripts": [{
"matches": [
"*://github.com/*/*/pulls"
],
"js": ["script/underscore-1.8.3.min.js", "script/content.js"]
}],
"permissions": [
"tabs",
"activeTab",
"*://github.com/*",
"webNavigation"
]

但是当我从我的 script/content.js 中运行以下命令时:
fetch('/redacted/redacted/pull/4549', {credentials: 'same-origin'}).then((response) => {
return response.text();
}).then((text) => {
// do cool stuff
})

这会从 Github 产生 404 响应。使用 Chrome Inspector 的网络选项卡检查此请求,我可以看到它没有将我的 GitHub session header 与请求一起发送。

如果我在 Inspector 中使用 Javascript 提示发出相同的请求,我可以看到 200 响应,并且我可以看到它正在发送我的 session cookie。

我的理解是在我的 manifest.json 中指定 Github 域。这意味着我的扩展程序可以访问我的内容脚本中的 session 数据,这不正确吗?我应该怎么做才能对这个 protected 内容提出有效的请求?

最佳答案

根据Chrome blog , 包括您需要的 cookie credentials: 'include'而不是 credentials: 'same-origin' .

关于google-chrome-extension - 在 Chrome 扩展中使用时,Fetch API 不发送 session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35542255/

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