Chrome 未设置本地主机 cookie

Chrome localhost cookies not being set

我正在不同配置中设置 ASP.NET 核心身份验证,使用 Google Chrome 作为开发和测试工具。在本地一切正常,但突然停止了。

我已经检查了 http headers 并在我的 POST 响应中找到了 Set-Cookie 一个,但在下一个请求和应用程序->存储-> 中都没有Cookie 选项卡。我检查了控制台,没有发现任何错误或警告。我重申并更新了 Chrome(没有效果),最后切换到 Edge,然后是 Firefox。

而且,是的,我搜索了整个 Internet,寻找解决方案,但类似问题排名最高的答案是 5 年以上,CORSSameSite 相关。只有一次我在 Chrome 中发现 reference 错误 导致我遇到的问题。

问题的原因是bug in Google Chrome

If you have a secure cookie with same name set by https://localhost, your cookie will fail to be set, and you will not know that one exists unless you visit the page from https://localhost.

在我的例子中,我只通过 https 调用了我的身份验证服务一次,并且它默默地阻止了以下所有使用 http 的尝试。另外令人恼火的是,重新启动 Chrome 不会清除该(会话)cookie,因此该行为一直持续到手动清理或启动隐身 window.