在 ajax 个请求中将 cookie 传输到同一域中的站点

Transmit a cookie to sites on the same domain in ajax requests

我的站点 a.domain 公开了一个页面,其脚本执行 AJAX 查询(使用提取)到 b.domain

在第一次访问 a.domain 期间,将使用以下参数向客户端发送一个 cookie:

"httpOnly" : "true"
"secure"   : "true"
"domain"   : ".domain"
"sameSite" : tried Strict, Lax and None

b.domain 有以下响应 headers :

"Access-Control-Allow-Origin"     : "a.domain"
"Access-Control-Allow-Credentials : true
"Access-Control-Allow-Methods"    : "GET, PUT, POST, DELETE, OPTIONS".
"Access-Control-Allow-Headers"    : "Content-Type, Authorization, Content-Length, X-Requested-With, Credentials"

获取请求的 headers 是:

"Content-Type" : "application/json"
"Accept"       : "application/json"
"Credentials"  : "include"

Cookie 可以很好地传输到 a.domain 或者如果我直接访问 b.domain ,但不会在 AJAX 请求中传输。

编辑:无论 samesite 参数的值如何,问题都是一样的。

有办法吗?谢谢

好的,找到了。 该问题与对获取请求中的凭据参数的误解有关。 credentials 不是 header 而是请求的参数。 一旦参数超出 headers(并以小写形式书写),一切正常。