我在使用 SAML 在我的 Web 应用程序上实现 SSO 时遇到问题。
成功登录后,我想重定向到我的应用程序的仪表板/主菜单。但是,它被重定向到 http://:/IDBUS/first-idau/IDP-1/SAML2/SSO/POST。
流程是,我在浏览器中请求我的应用程序的上下文 URL。在 josso 中,我已将其配置为重定向到 atricore。然后请求标头发生变化,请求返回到我请求的相同应用程序 url。现在我使用过滤器并将其重定向到 JOSSO 登录页面。所以这个单一的请求登陆 JOSSO 登录页面。
当我提供凭据和登录时,JOSSO 会进行身份验证并设置用户主体并将请求发送到我的 url。在这里,我有一个过滤器可以转发到我的仪表板。在我在 JOSSO 登录页面中提供身份验证信息后的这一步中,它没有获取我的仪表板,而是重定向到某个 JOSS 页面(http://:/IDBUS/first-idau/IDP-1/SAML2/SSO/POST)这个在 Atricore 的 OSGi 包中。
当我调试时,我将 HTTP 标头视为“referer”。它指向上面的 URL。我认为它应该指向我在 josso-agent-config.xml 中配置的应用程序的仪表板 url
我做了一个分析,发现了一些有趣的东西。在第 1 步中,我在我的应用程序中使用了一个过滤器来重定向到 JOSSO 登录页面。我没有这样做,而是允许完成请求。然后它会降落在我的应用程序的一个页面中。现在在同一个会话中(在浏览器中),我手动向 JOSSO 登录页面发出请求。然后我得到了 JOSSO 登录页面(这是第 2 步)。然后我提供了凭据并请求登录。现在它已成功转发到我的应用程序的预期仪表板页面。
所以我的猜测是,我的过滤器应该有问题,我重定向到 JOSSO 登录页面。
我正在使用 Atricore Identity Bus 1.0.0-m1+JOSSO 1.8.2+Spring 2.5.6.SEC01。请帮助我。