在XMLHttpRequest中使用withCredentials时不包含Cookie

时间:2019-07-31 11:09:09

标签: javascript ajax cookies xmlhttprequest

这是我的情况:

我正在从foo.comapi.bar.com发出ajax请求。在响应中,它使用Set-Cookie标头设置了一些cookie。 set-cookie标头上的域为.bar.com。我正在使用此处列出的所有步骤How to make XMLHttpRequest cross-domain withCredentials, HTTP Authorization (CORS)?

我能够查看并验证(使用Chrome扩展程序EditThisCookie)域.bar.com的cookie设置正确。

根据我的理解,当我向withCredential:true发出ajax请求(使用cdn.bar.com)时,它应包括先前为域.bar.com设置的cookie。

这些cookie不包含在请求中,我可以在提琴手中看到它。我在这里想念什么?

编辑

如果确实要从源cdn.bar.comapp.bar.com发出请求,则Cookie会包含在请求标头中。仅当从其他来源foo.com调用该问题时,才会出现该问题。

1 个答案:

答案 0 :(得分:0)

问题出在Cookie的SameSite限制上。如果我将其从lax更改为No Restriction,那么它将正常工作。