【发布时间】:2015-07-16 07:45:19
【问题描述】:
我最近注意到某些(所有?)浏览器不发送带有 OPTIONS 请求的 cookie,但会话(可以理解)发送带有新会话 ID 的 cookie 响应来响应这些请求。 (OPTIONS 请求用于在发送 AJAX 请求之前探测 CORS 访问控制标头。)
我的具体场景如下:
- 请求https://my-domain.appspot.com
一个。接收带有新会话 ID 的 cookie 向https://my-domain.appspot.com 发出 AJAX OPTIONS 请求以探测 CORS 标头(由浏览器自动生成)
一个。浏览器不发送 cookie
湾。会话以 Set-Cookie 标头和新会话 ID 响应对https://my-domain.appspot.com 的后续请求使用不同的会话 ID
- 由于会话 ID 不匹配,CORS 过滤器会阻止请求
如何防止在第 2 步中创建新的会话 ID?或者如何避免我的请求在上述情况下失败?
【问题讨论】:
-
你能发布你的前端 Ajax 请求代码吗?例如,如果您使用 Angular,则需要为要跨域发送的 cookie 提供“withCredentials”。
标签: google-app-engine session cookies