【问题标题】:Browser is not adding cookie on some requests浏览器未在某些请求上添加 cookie
【发布时间】:2021-03-14 19:16:23
【问题描述】:

我们正在另一个应用程序 (moodle) 作为插件运行一个应用程序(本地应用程序)。 当我们的应用程序尝试访问后端 graphql 时会发生什么,它不会添加 cookie,但在发送请求之前 cookie 在document.cookie 上可用。此外,在 iFrame 中打开应用程序之前,moodle 向后端服务器发出的请求很少,浏览器会将 cookie 添加到这些请求中。

以下是请求标头

  1. moodle -> 后端
Host: graphql.app.home
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-Dest: iframe
Referer: https://moodle.home:8443/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: cb_ltiid=s%3AF0FJpsc8bVe9ZqyLzgNgK7flKfGf4W7u.2GL43c7XLV11BzHXCS%2B7AvQKBAS9xg%2BNc7gaj264%2Bks
  1. 应用(来自moodle iFrame)->后端
Host: graphql.app.home
Connection: keep-alive
Content-Length: 118
Pragma: no-cache
Cache-Control: no-cache
accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
content-type: application/json
Origin: https://app.home
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://app.home/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

感谢您的帮助

【问题讨论】:

  • 应用打开时;您是否使用 Chrome 开发工具检查了第一个请求是否有一些警告?通常发生这种情况是因为缺少 set-cookie 策略(例如相同的域策略)
  • 我确实检查过,所有配置都是正确的,我没有看到任何警告或错误。奇怪的是,它可以在主机应用程序中运行,但不能在子应用程序中运行。

标签: node.js google-chrome cookies graphql session-cookies


【解决方案1】:

fetch 没有发送标头是因为

fetch 不会发送 cookie,除非您设置了凭据初始化选项。 (自 2017 年 8 月 25 日起。规范更改了默认凭据策略 到同源。 Firefox 自 61.0b13 起发生了变化。)

解决方案是通过 credentials: 'include' 来获取选项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-14
    • 2014-06-05
    • 2019-09-18
    • 2012-07-15
    • 2018-05-19
    • 2020-02-27
    • 2021-08-02
    • 2020-02-29
    相关资源
    最近更新 更多