从子域发送带有请求的Cookie

斯图尔特

我们有以下配置: testing.parentdomain.com

当您访问此域并创建购物篮时,我们将为该购物篮值创建一个cookie。Cookie域设置为.testing.parentdomain.com,它是Httponly,路径为/

我们有一个上面的子域,它想访问cookie。subdomain.testing.parentdomain.com
该子域调用父域上的端点,例如:testing.parentdomain.com/basketData此调用是一个返回JSON的GET请求。

问题
问题在于,发出请求时,子域似乎没有发送cookie值,因此我们没有得到预期的响应。

尝试
在其他问题上,我们尝试了CORS和凭据更改。
另外,我们将下面的JS与webpack / babel捆绑在一起。
我们的要求来自AJAX,如下所示:

  $.ajax({
    url: url,
    type: 'GET',
    xhrFields: {
      withCredentials: true
    },
    crossDomain: true
  })

服务器已为子域和allow-crendtials设置了CORS。在响应中,我们可以看到这些已返回。
access-control-allow-credentials:真正的
access-control-allow-origins:上面的子域

是否有任何原因未将Cookie与请求一起发送到父域?我们已经在服务器端响应中注销了cookie,但是它们不像我们期望的那样存在。

请求标题

:authority:testing.parentdomain.com
:方法:GET
:path:/ basket / data /
:scheme:https
accept:/
accept-encoding:gzip,deflate,br
accept语言:en-GB,en; q = 0.9, zh-cn; q = 0.8
来源:https://subdomain.testing.parentdomain.com引荐来源网址
https://subdomain.testing.parentdomain.com/
sec-fetch-dest:空的
sec-fetch-mode:cors
sec-提取站点:同站点
用户代理:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_15_7)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 86.0.4240.111 Safari / 537.36

响应标题

access-control-allow-credentials:true
访问控制-允许方法:GET,PUT,POST,DELETE,HEAD,OPTIONS
access-control-allow-origin:https : //subdomain.testing.parentdomain.com
缓存控制:无缓存,无存储
content-length:2238
content-type:application / json; 字符集= UTF-8
日期:星期二,2020年11月3日20时39分36秒GMT
到期:-1
杂注:无缓存
服务器:Microsoft-IIS / 10.0
的Set-Cookie:AWSALB = N0bcThdgRFzrSfQVNIsffgsvY6T / y2Bp47RZJCueeSLOS7eEjo0AThiElXmww6fy2eynRyyt8gAB8di / Mqy1x + Ds8Ig1TumKkWnQiFvIkoELI / rEYYgyUxbEtUI4; Expires = Tue,2020年11月10日20:39:36 GMT; 路径= /
set-cookie:AWSALBCORS = N0bcThdgRFzrSfQVNIsffgsvY6T / y2Bp47RZJCueeSLOS7eEjo0AThiElXmww6fy2eynRyyt8gAB8di / Mqy1x + Ds8Ig1TumKkWNQiFYELY Expires = Tue,10 Nov 2020 20:39:36 GMT; 路径= /; SameSite = None; 安全
状态:200
严格传输安全性:max-age = 31536000;
变化:原始
x内容类型选项:nosniff
x框架选项:SAMEORIGIN
x机器人标签:noindex
x ua兼容:IE =边缘
x-xss保护:1;模式=阻止

葛瑞克

即使您从子域调用主域,这也被视为跨域请求。

从报价RFC 6454,其资格的“原产地”一词:

问:为什么要使用标准主机名而不是仅使用“顶级
”域?

答:尽管DNS具有分层委派,但
主机名之间的信任关系会因部署而异。例如,在许多教育机构中,学生可以在
https://example.edu/~student/上托管内容,但这并不意味着
学生创作的文档应属于同一出身(即,享有
相同的保护)域)作为Web应用程序,用于管理托管在https://grades.example.edu/上的成绩

因此,确实需要您所做的所有事情才能使其正常工作:

  • access-control-allow-credentials: true
  • access-control-allow-origin: subdomain.testing.parentdomain.com (不是通配符)
  • withCredentials: true 在请求中

声明Cookie时,您只剩下两件事:SecureSameSite=None

SameSite=None属性是跨站点请求必需的,除非Secure也已设置,否则它将不起作用

显然,该Secure属性暗示testing.parentdomain.com通过HTTPS提供服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python发布带有请求的cookie

来自分类Dev

发送字典列表作为带有请求的字典值

来自分类Dev

发送带有请求的json以在节点中表达

来自分类Dev

如何发送带有请求承诺的表格?

来自分类Dev

AFNetworking发送带有请求的标头

来自分类Dev

跨域请求被阻止,但是所有请求都向源域发送

来自分类Dev

跨域请求被阻止,但是所有请求都向源域发送

来自分类Dev

如何在Angular2中的所有请求的请求标头中发送“ Cookie”?

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

诊断带有请求的挂起请求

来自分类Dev

带有请求子域的条件回调。是否可以?

来自分类Dev

Laravel 5必须在KendoUI Grid中发送带有所有请求的令牌

来自分类Dev

创建模型时发送带有absolute_uri的邮件(没有请求对象)

来自分类Dev

Laravel 5必须在KendoUI Grid中发送带有所有请求的令牌

来自分类Dev

HttpClient在Blazor Webassembly应用程序中不包含带有请求的cookie

来自分类Dev

如何在Swagger UI中发送带有请求的授权标头?

来自分类Dev

如何不以角度发送带有请求主体的url模板参数?

来自分类Dev

从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

来自分类Dev

发送带有请求的上下文,并且{%if%}不能正常工作

来自分类Dev

如何发送带有请求的HTTP / 2伪标头?

来自分类Dev

从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

来自分类Dev

如何使用uget发送一些带有请求的标头?

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

带有请求的“点击”按钮

来自分类Dev

处理带有请求的错误URL

来自分类Dev

无法登录带有请求的表单

来自分类Dev

Python,发送带有标头和 cookie 的请求

来自分类Dev

通过 fetch api 发送带有 ajax 请求的 cookie

来自分类Dev

带有请求主体的Elasticsearch GET请求

Related 相关文章

  1. 1

    Python发布带有请求的cookie

  2. 2

    发送字典列表作为带有请求的字典值

  3. 3

    发送带有请求的json以在节点中表达

  4. 4

    如何发送带有请求承诺的表格?

  5. 5

    AFNetworking发送带有请求的标头

  6. 6

    跨域请求被阻止,但是所有请求都向源域发送

  7. 7

    跨域请求被阻止,但是所有请求都向源域发送

  8. 8

    如何在Angular2中的所有请求的请求标头中发送“ Cookie”?

  9. 9

    诊断带有请求的挂起请求

  10. 10

    诊断带有请求的挂起请求

  11. 11

    带有请求子域的条件回调。是否可以?

  12. 12

    Laravel 5必须在KendoUI Grid中发送带有所有请求的令牌

  13. 13

    创建模型时发送带有absolute_uri的邮件(没有请求对象)

  14. 14

    Laravel 5必须在KendoUI Grid中发送带有所有请求的令牌

  15. 15

    HttpClient在Blazor Webassembly应用程序中不包含带有请求的cookie

  16. 16

    如何在Swagger UI中发送带有请求的授权标头?

  17. 17

    如何不以角度发送带有请求主体的url模板参数?

  18. 18

    从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

  19. 19

    发送带有请求的上下文,并且{%if%}不能正常工作

  20. 20

    如何发送带有请求的HTTP / 2伪标头?

  21. 21

    从Mediainfo AWS Lambda发送带有请求的json时发生属性错误

  22. 22

    如何使用uget发送一些带有请求的标头?

  23. 23

    带有请求的“点击”按钮

  24. 24

    带有请求的“点击”按钮

  25. 25

    处理带有请求的错误URL

  26. 26

    无法登录带有请求的表单

  27. 27

    Python,发送带有标头和 cookie 的请求

  28. 28

    通过 fetch api 发送带有 ajax 请求的 cookie

  29. 29

    带有请求主体的Elasticsearch GET请求

热门标签

归档