在 2020 年 2 月针对 SameSite 相关问题进行 Chrome 更新后,即使遵循了 .NET 的 Web 配置建议,我的 IFrame 仍然存在问题

After Chrome update in Feb 2020 for SameSite related issue, my IFrame still has issues even after following web config suggestions for .NET

所以客户的客户问题在 IFrame 中:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">    
<html>

<head>
<title>HTML Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<p>Below is an iframe.</p>
<iframe src="*LinkWithDirectAuthenticationHere*" width = "800" height = "800">
 <p>iframes are not supported by your browser.</p>
</iframe></body>
</html>

一旦用户通过身份验证,用户将被重定向回登录页面,因为包含已登录用户详细信息的本地存储因网站位于 IFrame 中(自动注销)而返回为空。这在 Chrome 2020 年 2 月更新之前没问题。

我用的googlechrome版本是80.0.3987.149
出于某种原因,即使我的其他同事有相同的版本,他们也没有遇到这个问题。已经卸载了我所有的插件并清除了缓存并注销 chrome,问题仍然存在于我的浏览器中(我是目前唯一能够复制我客户的客户问题的人)

在我的浏览器中设置后,我没有再遇到这个问题:

但是,这不是正确的解决方案。所以我尝试在我的 .NET 应用程序上执行以下操作:

我在本地主机上测试应用程序时收到这些警告:

请注意,默认情况下禁用 samesite cookie 解决了这个问题,但我必须采取措施,让用户不必更改他们的设置并像以前一样继续。

补充说明:

目前 Chrome 仅执行新政策 for subset of users 因此您的同事可能会看到不同的结果。

我假设您已经检查了 Chrome Application => Storage => Cookies 视图并确认您的 cookie 返回并设置了 SameSite=NoneSecure

如果是这样,您可能需要将 iframe 移至 https(查看您的屏幕截图,它现在似乎是 HTTP),因为 Secure 指示 Chrome 仅发送此饼干 over secure connection。要测试这是否是您的情况, 尝试禁用 chrome://flags/#cookies-without-same-site-must-be-secure