Microsoft Edge browser无法在IFrame中加载web应用程序。获取此错误-此内容可能';不能在框架中显示

Microsoft Edge browser无法在IFrame中加载web应用程序。获取此错误-此内容可能';不能在框架中显示,iframe,azure-active-directory,cross-browser,microsoft-edge,Iframe,Azure Active Directory,Cross Browser,Microsoft Edge,我在Microsoft Edge中发现以下错误。但是,在铬合金中工作良好。以下是实施的细节。user.Identity.Name正在主页的页面加载中捕获用户登录的电子邮件 Asp.NETWebForms应用程序托管在Azure中 已启用Azure AD身份验证 通过IFRAME在Intranet网页上加载此web应用程序 内部网通过OKTA启用SSO 您遇到了X-Frame-Options的功能 X-Frame-OptionsHTTP响应头可用于指示是否允许浏览器在、、或中呈现页面。网站可以通过

我在Microsoft Edge中发现以下错误。但是,在铬合金中工作良好。以下是实施的细节。user.Identity.Name正在主页的页面加载中捕获用户登录的电子邮件

  • Asp.NETWebForms应用程序托管在Azure中
  • 已启用Azure AD身份验证
  • 通过IFRAME在Intranet网页上加载此web应用程序
  • 内部网通过OKTA启用SSO

  • 您遇到了
    X-Frame-Options
    的功能

    X-Frame-Options
    HTTP响应头可用于指示是否允许浏览器在
    中呈现页面。网站可以通过确保其内容不嵌入其他网站,从而避免点击劫持攻击

    资料来源:

    如果您拥有要在IFrame中运行的页面,请确保显式地为
    X-Frame-Options
    标题设置正确的值。如果没有:为什么要在IFrame中显示它

    如果您遇到与Edge不同的Chrome行为,请查看标头的使用方式以及Chrome是否支持它。例如,Chrome不支持
    ALLOW-FROM

    更多信息:

    我先前链接到的MDN文档是关于允许源的:

    允许来自uri(过时)
    这是一个过时的指令,在现代浏览器中不再有效。不要用它。在支持传统浏览器的情况下,页面只能显示在指定源uri的框架中

    编辑:
    作为你陈述的补充

    看起来除了删除Azure AD身份验证之外,没有其他选项

    由于iframe引入的cickjacking问题,您不应该在iframe中显示任何登录页面。这不仅限于Azure AD身份验证,对于任何和所有身份验证选项都是如此

    Azure广告认证也有一个弹出选项。例如:如果您使用的是MSAL.js,则有以下内容:

    您可以通过两种方式将用户登录到MSAL.js中的应用程序:

    • 使用loginPopup方法弹出窗口
    • 使用LoginDirect方法重定向

    来源:

    您正在运行
    X-Frame-Options
    的功能

    X-Frame-Options
    HTTP响应头可用于指示是否允许浏览器在
    中呈现页面。网站可以通过确保其内容不嵌入其他网站,从而避免点击劫持攻击

    资料来源:

    如果您拥有要在IFrame中运行的页面,请确保显式地为
    X-Frame-Options
    标题设置正确的值。如果没有:为什么要在IFrame中显示它

    如果您遇到与Edge不同的Chrome行为,请查看标头的使用方式以及Chrome是否支持它。例如,Chrome不支持
    ALLOW-FROM

    更多信息:

    我先前链接到的MDN文档是关于允许源的:

    允许来自uri(过时)
    这是一个过时的指令,在现代浏览器中不再有效。不要用它。在支持传统浏览器的情况下,页面只能显示在指定源uri的框架中

    编辑:
    作为你陈述的补充

    看起来除了删除Azure AD身份验证之外,没有其他选项

    由于iframe引入的cickjacking问题,您不应该在iframe中显示任何登录页面。这不仅限于Azure AD身份验证,对于任何和所有身份验证选项都是如此

    Azure广告认证也有一个弹出选项。例如:如果您使用的是MSAL.js,则有以下内容:

    您可以通过两种方式将用户登录到MSAL.js中的应用程序:

    • 使用loginPopup方法弹出窗口
    • 使用LoginDirect方法重定向

    来源:

    您应该尝试检查
    X-Frame-Options
    标题。
    X-Frame-Options
    标题可用于控制页面是否可以放置在IFRAME中

    此外,请注意,此令牌必须作为HTTP头发送,如果在META HTTP-EQUIV标记中找到,则该指令将被忽略。有关更多信息,请参阅

    如果您控制了发送iframe内容的服务器,则可以参考并了解如何配置该值


    更多信息:

    您应该尝试检查
    X-Frame-Options
    标题。
    X-Frame-Options
    标题可用于控制页面是否可以放置在IFRAME中

    此外,请注意,此令牌必须作为HTTP头发送,如果在META HTTP-EQUIV标记中找到,则该指令将被忽略。有关更多信息,请参阅

    如果您控制了发送iframe内容的服务器,则可以参考并了解如何配置该值


    更多信息:

    谢谢,瑞克。我不拥有该页面,但将继续提出此解决方案。嗨,Rick,我已尝试按照建议在web.config中添加选项,但没有成功。由于我们已对应用程序服务启用Azure AD身份验证,它将首先登录到login.microsoft.com以显示登录选项。看起来除了删除Azure AD Authentication之外没有其他选择了谢谢,Rick将对此进行调查。谢谢,Rick。我不拥有该页面,但将继续提出此解决方案。嗨,Rick,我已尝试按照建议在web.config中添加选项,但没有成功。由于我们已经对应用程序服务启用了Azure AD身份验证,它将首先登录到login.microsoft.com以显示