Spring SAML SP超时会话和IDP超时会话之间应该发生什么?

Spring SAML SP超时会话和IDP超时会话之间应该发生什么?,spring,single-sign-on,saml-2.0,spring-saml,Spring,Single Sign On,Saml 2.0,Spring Saml,我目前正在针对SSO循环IDP测试我的SAML SP代码。SP当前设置为在7200秒(2小时)后使登录超时;也就是说,如果用户在上次进行身份验证2小时后尝试进行身份验证,则他们需要再次将其凭据输入IDP,以获得在现在之前2小时内的新身份验证 但是,IDP有不同的超时。我不确定它有多长,但它比2个小时长。这意味着,当SP要求用户再次登录时,会出现一个窗口,但IDP将自动使用相同的AuthInstant。当然,这无法验证。解决方法是让用户手动转到SSOCIRCE并注销 这似乎非常不方便。如果SP可以

我目前正在针对SSO循环IDP测试我的SAML SP代码。SP当前设置为在7200秒(2小时)后使登录超时;也就是说,如果用户在上次进行身份验证2小时后尝试进行身份验证,则他们需要再次将其凭据输入IDP,以获得在现在之前2小时内的新身份验证

但是,IDP有不同的超时。我不确定它有多长,但它比2个小时长。这意味着,当SP要求用户再次登录时,会出现一个窗口,但IDP将自动使用相同的AuthInstant。当然,这无法验证。解决方法是让用户手动转到SSOCIRCE并注销

这似乎非常不方便。如果SP可以重定向用户在IDP重新输入其凭据,对我来说会更有意义。但我没有在文档或在线上看到任何与此窗口相关的内容。我可以手动设置
WebsProfileConsumerImpl.maxAuthenticationAge
以匹配IDP,但看起来像是一条脆弱的绷带

我认为所有国内流离失所者在这方面的表现都是类似的。对吗?在此窗口期间,SP应做哪些不同的操作

我认为所有国内流离失所者在这方面的表现都是类似的。对吗

或多或少,是的,但这与IDP与SP的行为无关。这是因为SP建立的应用程序会话与IdP建立的SSO会话完全不同。这不是应该发生什么。这是关于你想看什么的。有很多场景证明这个用例很烦人,或者有很多其他场景完全可以接受。你需要决定什么适合你

在此窗口期间,SP应做哪些不同的操作


如果您希望强制IdP重新请求凭据并忽略其自己的会话,您可能希望标记发送到使用
forcedAuthn=true
的身份验证请求。然后IdP应该质询用户,假设它支持SAML强制身份验证请求。

Hmm。。。这是可行的,但这确实意味着如果您最近登录到另一个服务,您将失去自动登录服务的能力,这是SSO的好处之一。所以,如果我理解正确的话,我不能做我想做的事,所以是时候开始平衡优先级了。不,这不是它的意思。你只在需要的时候才要求强制。请求必须有条件地发送。啊,我不知道你可以这样做,因为我只在bean创建时看到了这个选项。听起来好多了。事实上,我一直找不到任何有条件地激活forcedAuthN的方法。在整个系统运行过程中,它要么打开,要么关闭。我如何使其有条件?这取决于SP。由于您没有提及您正在使用的SP软件以及没有任何详细信息的版本,因此我无法回答该问题。这是SP的一项功能,有些提供,有些不提供。