【问题标题】:ADFS 2016 X-Frame-Options to denyADFS 2016 X-Frame-拒绝选项
【发布时间】:2018-10-28 22:02:22
【问题描述】:

我在我的 react 应用程序上使用 adal.js(使用 react-adal 包装器)。我将我的应用程序配置为与我的 ADFS 2016 服务器(本地)一起使用,并且身份验证过程工作正常,但是在 ADFS SSO cookie 过期后,当客户端发送更新令牌请求(在隐藏的 iframe 中)时,浏览器显示在控制台出现以下错误:拒绝在新框架中显示“https://myadfs/adfs/ls/SAMLRequest=...”,因为它将“X-frame-options”设置为拒绝。

为了重新认证,用户需要刷新页面(F5)。

这个问题有什么解决方案/变通方法吗?

【问题讨论】:

    标签: adal.js adfs4.0


    【解决方案1】:

    出于安全原因,ADFS

    正确的模式(因为您是 2016 年)是使用 OIDC 流登录到应用程序并使用刷新令牌来获取新的访问令牌。

    即使在这里,您也需要处理刷新令牌过期的情况,在这种情况下,您需要在本地存储应用上下文(cookie 或本地缓存)并启用完全重定向到 ADFS。

    ADFS 2019 现在有一个选项,管理员可以通过控制标头来配置允许 iFrame 的主机的选项。

    谢谢 //Sam(推特:@MrADFS)

    【讨论】:

      【解决方案2】:

      就像我在 similar question 中解释的那样,自从最近的 MS 更新(大约 2019 年 5 月)以来,ADFS 2016 也支持命令行开关“Set-AdfsResponseHeaders”:

      Set-AdfsResponseHeaders -RemoveHeaders "X-Frame-Options"
      

      Howeber,我同意 SamuelD MSFT 的观点,即现在使用 iFrame 集成不再是一个好习惯。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-22
        • 2019-10-15
        • 2017-06-26
        • 2016-02-01
        • 2017-01-22
        • 2018-06-27
        • 2014-09-06
        相关资源
        最近更新 更多