首页 > 解决方案 > IE 11 不接受 SameSite cookie

问题描述

我知道这是互联网上的一个大话题,但到目前为止我找不到任何可行的解决方案。

我的一些客户通过 iframe 集成了我的网站。在 Firefox/Chromium 中,在我将SameSite属性设置为None并添加Secure到它之后,一切正常。

现在世界上还有一个 IE11,我不知道该怎么做才能让它成为我的 cookie,所以 IE11 接受它们。

这是 IE11 得到的:

Set-Cookie: JSESSIONID=CFA2E0643F0CA81B68B4A984D7FC429D; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: JSESSIONID=CFA2E0643F0CA81B68B4A984D7FC429D; Expires=Mon, 05-Oct-2020 15:19:46 GMT; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: my-cart=f5e5dcea-8d9e-33a6-b228-9e7e6dc04f4a; Expires=Wed, 03-Mar-2032 06:19:46 GMT; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: sessionExpiry=; Max-Age=3605; Expires=Mon, 05-Oct-2020 15:19:51 GMT; Path=/; Secure;SameSite=None;Secure
Set-Cookie: anonymous-consents=%5B%5D; Max-Age=31536000; Expires=Tue, 05-Oct-2021 14:19:46 GMT; Path=/;SameSite=None;Secure
Set-Cookie: cookie-notification=NOT_ACCEPTED; Max-Age=360000000; Expires=Wed, 03-Mar-2032 06:19:46 GMT; Path=/; Secure;SameSite=None;Secure

如您所见,路径以/. 如果需要并且时间正确,则设置 Expires。

还有什么我错过的吗?

标签: internet-explorer-11session-cookiessamesite

解决方案


当您使用 Windows Server 2012 时,问题的根本原因是 SameSite cookie 仅在 Windows 10 RS3(2017 秋季创意者更新)和更高版本的 IE 11 中受支持。所以它在你的机器上不起作用。

更多信息参考:

(1)caniuse网站

(2) SameSite 浏览器兼容性

(3) SameSite cookie 状态变更


为了让跨域 cookie 可以在 IE 上运行,我发现了一些类似的线程:link1link2,它们都指向使用P3P 策略。有关如何使用 P3P 策略的详细信息,您可以参考此答案。


推荐阅读