AJAX重定向到SAML 2.0身份提供程序的CORS问题

问题描述 投票:1回答:1

我有一个Angular Web应用程序,我正在使用mod_auth_mellon模块配置的Apache Web服务器上托管。使用mod_auth_mellon,我的Apache服务器充当具有SAML 2.0身份提供程序(iDP)的服务提供程序,为此我已经建立了依赖方信任。

一旦通过身份验证,Web应用程序将每分钟在后台触发AJAX调用。该调用通过我在Apache服务器上设置的反向代理进行。

典型的浏览器流程: Apache mellon会话(MellonSessionLength)过期后,通过Apache的任何请求都将重定向回SAML iDP以重新协商。假设我仍通过iDP进行身份验证,则mellon将建立​​一个新会话并自动将我重定向回我的原始目的地。通常,此重新协商是在后台无缝进行的一两个额外请求。

问题:当我的后台AJAX请求触发时,mellon会话通常会到期,它将该请求重定向回iDP。在返回iDP的AJAX请求上,浏览器给出了CORS错误,响应中包含一个通用的登录页面(而不是我的重定向目标)。我的(Apache)请求应该看起来与iDP来自同一域,但不是同一子域(但实际上,它们是两个不同的服务器):((mywebapp.mydomain.com与idp.mydomain.com )。如果我只是简单地将请求URL手动复制到浏览器栏中,那么重新协商就不会出现问题。

问题#1:据我所知,是浏览器阻止了此请求。这是Apache配置问题吗?

问题#2:如果我可以解决CORS问题,那么JavaScript是否能够成功解释来自iDP的响应,以便mellon建立新的会话?我一直在阅读一些让我停顿一下的文章-有人谈论可能必须在页面上嵌入一个隐藏的iFrame才能处理重定向到目标URL之前的iDP响应。

javascript ajax apache cors saml-2.0
1个回答
0
投票

我们面临类似的问题。您可以解决吗?

谢谢CP

© www.soinside.com 2019 - 2024. All rights reserved.