【发布时间】:2019-04-30 23:17:51
【问题描述】:
我们在至少版本 16/17 的 MS Edge 上遇到了奇怪的行为。在 IE 11/Chrome/Firefox 上不会发生同样的问题。
我们的用户通过会话 cookie 进行身份验证。 cookie 名称是“app”。其他 cookie 涉及使用 cookie 名称“prefLang”存储当前显示语言。 cookie 是 HttpOnly、安全的,并且仅针对实际使用的子域设置。
在某些情况下,MS Edge 只是删除名为“app”的会话 cookie,不再是 HTTP 请求的一部分。提到的“prefLang”cookie 不会被删除并且在服务器上可见。
下降的发生不容易重现,但在以下情况下有时是可见的:
- 用户使用 target=_blank 从登录的应用上下文中打开一个外部链接页面
- 应用上下文中的页面请求之间已超过 12 分钟
- 在页面请求的几秒钟内立即
- 用户使用来自同一来源的页面请求打开 iframe
会话 cookie app=redactedABC 未传输到服务器的请求/响应调试信息服务器端示例
2018-11-28 09:44:00 UTC POST hasIdentity: 1 UserId: <redacted> Request: https://app.domain.com/page/action/full/add/0 / Cookie: _gid=redacted; _ga=redacted; app=redacted-ABC; prefLang=de
2018-11-28 09:44:00 UTC 200 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
)
2018-11-28 09:46:21 UTC POST hasIdentity: 0 UserId: 0 Request: https://app.domain.com/page/action/full/add/0 / Cookie: _gid=redacted; _ga=redacted; prefLang=de
2018-11-28 09:46:21 UTC 302 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
[3] => Set-Cookie: app=redactedXYZ; path=/; domain=app.domain.com; secure; HttpOnly
)
2018-11-28 09:46:21 UTC GET hasIdentity: 0 UserId: 0 Request: https://app.domain.com/account/login / Cookie: _gid=redacted; _ga=redacted; prefLang=de; app=redactedXYZ
2018-11-28 09:46:21 UTC 200 hasIdentity: 0 UserId: 0 Response headers: Array
(
[0] => Expires: Thu, 19 Nov 1981 08:52:00 GMT
[1] => Cache-Control: no-store, no-cache, must-revalidate
[2] => Pragma: no-cache
)
【问题讨论】:
-
感谢您在 MS Edge 中告知我们此问题。这个问题可能只能在特定条件下使用特定代码产生。因此,如果可能的话,我建议您提供任何示例代码和步骤。我们将尝试使用您的代码进行测试以产生问题。
-
我可以看到问题在几个小时后解决了,正如您在之前的评论中提到的那样。在这几个小时内安装了任何与 Windows 相关的更新?更新可能解决了 Edge 浏览器的问题。我注意到您使用的是 16.x 版本的 Edge。目前 17.x 是 Edge 的最新版本。所以我建议你迁移到最新版本可能会帮助你获得 Edge 的最新功能。
-
解决了一个用户的问题,我需要检查那个用户的版本。这个问题也发生在使用 17.xx 的其他用户浏览器上,尽管正如我原来的问题中提到的那样。是否可以在不增加版本号的情况下对 Edge 进行更新?
-
此外,当天晚些时候复制失败的提到的用户在所有测试时帽子 Edge 16.16299,它与今天的版本相同。
标签: cookies session-cookies microsoft-edge