Spring 混合使用 IDP 和基于表单的 SAML 身份验证

Spring SAML authentication with mix of IDP and form based

我的Spring SAML 应用程序(APP1 和APP2)有两种身份验证方法:IDP 和基于表单的登录。用户将在我们的 SP 登录页面上选择使用哪种身份验证方法。

如果用户在 APP1 中通过 IDP 进行身份验证,那么当访问 APP2 上的受保护页面时,用户将自动登录。这符合预期。

但是,如果用户在 APP1 中通过基于表单的登录进行身份验证,并且当 he/she 访问 APP2 上的受保护页面时,将提示用户通过 IDP 登录。这让用户感到困惑,因为他从基于表单的登录开始。

如果用户从基于 APP1 的表单开始,我想要的行为是让用户转到基于 APP2 的表单签名。

我该如何实现?提前致谢!

一个想法 - 在 cookie 中的共享域上存储有关用户是否使用 IDP 或基于表单的身份验证的信息。并读取 SpringSecurity 中自定义的 AuthenticationEntryPoint 中的信息,这将决定启动哪个身份验证过程。