Web 应用程序 302 从嵌入式 iframe 重定向 Chrome 90 中的 HTTP 请求

Posted

技术标签:

【中文标题】Web 应用程序 302 从嵌入式 iframe 重定向 Chrome 90 中的 HTTP 请求【英文标题】:Web app 302 redirecting HTTP requests in Chrome 90 from embedded iframe 【发布时间】:2021-07-25 21:48:04 【问题描述】:

我们最近开始遇到我们组织内部使用的网络应用程序的问题。大多数用户一直在使用 Chrome 访问网络应用程序。该问题似乎与 Chrome 90 的发布相对应。该网络应用程序已经存在了几年,与以前版本的 Chrome 一起使用在这方面没有问题。

网络应用使用来自第 3 方供应商的嵌入式 iframe。供应商应用程序对我们 Web 应用程序中的 URL 执行 HTTP GET 以指示成功或失败。然后我们关闭 iframe 并相应地更新我们的应用程序。直到最近,这一直很好。现在看来,来自供应商 iframe 的 HTTP GET 正在被 302 重定向到我们的登录。

Example of 302 redirect

在此之前,使用 MS Edge 作为浏览器,相同的 HTTP GET 得到 200 响应,我们的 Web 应用程序按预期工作。

Example of HTTP 200 response

由于其他浏览器仍在继续工作,并且网络服务器、网络应用或网络访问没有发生重大变化,我们怀疑最新版本的 Chrome 和更严格的安全要求可能发生了一些变化。为什么是 302 重定向?这与我们的 SameSite cookie 配置有什么关系吗? (到目前为止,我们还没有针对 SameSite 做任何具体的事情)。

【问题讨论】:

【参考方案1】:

我们发现,随着 Chrome 的最新更新,我们必须将 ASP.Net 会话 cookie 标头设置为包含“SameSite=None; Secure”。

本文提供了答案:https://web.dev/samesite-cookie-recipes/

【讨论】:

谢谢@fgantt ...非常感谢!

以上是关于Web 应用程序 302 从嵌入式 iframe 重定向 Chrome 90 中的 HTTP 请求的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter for Web 应用程序中嵌入网页作为 Widget(类似于 iframe)

本机应用程序与作为iframe嵌入的外部应用程序之间的会话处理

如何在 Web View Android 中嵌入 iframe 视频?

如何将参数发送到嵌入式 Flutter Web 应用程序?

从父级导航嵌入式 Google Apps 脚本 iFrame

Chrome 中的 iframe 错误:无法从“窗口”读取“localStorage”:此文档的访问被拒绝