1

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

我检查了 http 标头,并Set-Cookie在我的POST响应中找到了一个,但在下一个请求和 Application->Storage->Cookies 选项卡中都没有。我检查了控制台,没有发现任何错误或警告。我重述并更新了 Chrome(无效),最后切换到 Edge,然后是 Firefox。

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

4

1 回答 1

2

问题的原因是Google Chrome中的一个错误:

如果您有一个由https://localhost设置的同名安全 cookie ,则您的 cookie 将无法设置,并且除非您从https://localhost访问该页面,否则您将不知道该 cookie 的存在。

在我的情况下,我刚刚通过 调用了我的身份验证服务https,并且默默地阻止了以下所有尝试http。另外令人讨厌的是,重新启动 Chrome 并不会清除该(会话)cookie,因此该行为会一直持续到手动清理或启动隐身窗口。

于 2019-05-31T09:53:59.267 回答