Safari 11最近在Mac OSX上发布了。此更新导致我们的Web应用程序与我们reuest的 header 上的XSRF组合出现问题。
我将尝试以逻辑方式描述问题。
这是一个很好的情况:
Eg: Set-Cookie: XSRF-TOKEN=LKNBX4DZhL708KjXNkgXnlxTDCNuhsZG1kTc2SFy498; Path=/; Secure
我们遇到的问题(在Mac OSX上使用Safari 11,其他浏览器未显示此行为):
TLDR;在Safari 11中, header XSRF-TOKEN在刷新后不会相应地更新为cookie值。我们可以在较旧的版本和其他浏览器上进行此操作,我们认为这是Safar 11错误。
还有其他人遇到过类似的问题吗?在Safari 11中刷新页面后,请求的 header 值没有更新?
编辑:经过测试,我们发现在URL中放置时间戳作为查询参数会强制Safari 11发送正确的请求。似乎有些请求被缓存,更新的 header 被忽略。
非常感谢!
最佳答案
我不能真的就您的 token 问题发表评论,但我也怀疑Safari 11的缓存存在问题。最近,即使对于指定了JSON请求的
Cache-Control: no-cache, private
从本地主机重新加载页面两次后,Safari开始缓存那些请求(显示为
Cache (Disk)
)。 Firefox和Chrome都不做。对我来说似乎是个 bug ?关于safari - 刷新后未更新Safari 11 X-XSRF-TOKEN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46525065/