如何将 window.fetch() 与 httpOnly cookie 或基本身份验证一起使用

Posted

技术标签:

【中文标题】如何将 window.fetch() 与 httpOnly cookie 或基本身份验证一起使用【英文标题】:How do I use window.fetch() with httpOnly cookies or basic auth 【发布时间】:2015-07-12 20:02:56 【问题描述】:

我在 Firefox 和 Chrome 中使用 window.fetch()。由于某些原因, fetch() 不发送任何 cookie。现在这不是问题,因为我可以使用发送它们

fetch('/something',  headers:  Cookie: document.cookie  )

但这不适用于 httpOnly cookie。

【问题讨论】:

【参考方案1】:

好的,我在 Mozilla 开发者网络上阅读了更多内容并尝试了凭据选项后发现。

看起来凭据选项是我应该寻找的。​​p>

fetch('/something',  credentials: 'same-origin' ) // or 'include'

将发送 cookie。

【讨论】:

这里是 MDN 文章。 - developer.mozilla.org/en-US/docs/Web/API/Request/credentials 'omit' 是默认值,不发送任何 cookie。如果端点位于同一 uri 上,'same-origin' 将发送 cookie。 'include' 将向所有 uris 发送 cookie。 刚刚碰到这个,非常感谢!帮了我很多忙。 在最近的浏览器中,'same-origin' 成为默认值,但可以显式地写成向后兼容。在 Firefox 中,此默认值来自版本 61(2018 年 6 月 26 日发布)。 这是否意味着same-origininclude 暗示httpOnly? 这仍然不适用于 httpOnly cookie,这很好。

以上是关于如何将 window.fetch() 与 httpOnly cookie 或基本身份验证一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 window.fetch 下载文件?

@testing-library/与 msw/node 反应; window.fetch 未在 POST 上返回正文

Kotlin使用window.fetch API获取二进制数据

使用 window.fetch api 的预检请求失败

vue项目开发遇见bug

访问 CORS 请求的响应标头