在 SAML SP 超时会话和 IDP 超时之间应该发生什么?
What should happen between a SAML SP timing out a session, and the IDP doing so?
我目前正在针对 SSOCircle IDP 测试我的 SAML SP 代码。 SP 当前设置为在 7200 秒(2 小时)后登录超时;也就是说,如果用户在上次进行身份验证 2 小时后尝试进行身份验证,则他们需要再次将其凭据输入 IDP,以获取 2 小时前的新 AuthnStatement。
但是,IDP 有不同的超时时间。我不确定它有多长,但它超过 2 小时。这意味着当 SP 要求用户再次登录时会出现 window,但 IDP 无论如何都会自动使用相同的 AuthnStatement。当然,这无法验证。解决此问题的方法是让用户手动转到 SSOCircle 并注销。
这看起来很不方便。如果 SP 可以重定向用户以在 IDP 处重新输入他们的凭据,那对我来说会更有意义。但我没有在文档或网上看到任何提及此 window 的内容。我可以手动设置 WebSSOProfileConsumerImpl.maxAuthenticationAge
来匹配 IDP,但看起来像一条脆弱的绷带。
我假设所有国内流离失所者在这方面的表现都差不多。那是对的吗?在此 window 期间,SP 应该做些什么不同的事情?
I assume that all IDPs would perform similarly in this regard. Is that correct?
或多或少,是的,但这与 IdP 与 SP 的行为方式无关。这是关于 SP 建立的应用程序会话与 IdP 建立的 SSO 会话完全分开的事实。这与应该发生什么无关。这是关于您想要看到的内容。在许多情况下,这个用例被证明是令人讨厌的,或者在许多其他情况下,这是完全可以接受的。你需要决定什么对你有用。
What should the SP be doing differently during this window?
如果您希望强制 IdP 重新询问凭据并忽略其自己的会话,您可能需要标记发送的身份验证请求以使用 forcedAuthn=true
。然后 IdP 应该质询用户,假设它支持 SAML 强制身份验证请求。
我目前正在针对 SSOCircle IDP 测试我的 SAML SP 代码。 SP 当前设置为在 7200 秒(2 小时)后登录超时;也就是说,如果用户在上次进行身份验证 2 小时后尝试进行身份验证,则他们需要再次将其凭据输入 IDP,以获取 2 小时前的新 AuthnStatement。
但是,IDP 有不同的超时时间。我不确定它有多长,但它超过 2 小时。这意味着当 SP 要求用户再次登录时会出现 window,但 IDP 无论如何都会自动使用相同的 AuthnStatement。当然,这无法验证。解决此问题的方法是让用户手动转到 SSOCircle 并注销。
这看起来很不方便。如果 SP 可以重定向用户以在 IDP 处重新输入他们的凭据,那对我来说会更有意义。但我没有在文档或网上看到任何提及此 window 的内容。我可以手动设置 WebSSOProfileConsumerImpl.maxAuthenticationAge
来匹配 IDP,但看起来像一条脆弱的绷带。
我假设所有国内流离失所者在这方面的表现都差不多。那是对的吗?在此 window 期间,SP 应该做些什么不同的事情?
I assume that all IDPs would perform similarly in this regard. Is that correct?
或多或少,是的,但这与 IdP 与 SP 的行为方式无关。这是关于 SP 建立的应用程序会话与 IdP 建立的 SSO 会话完全分开的事实。这与应该发生什么无关。这是关于您想要看到的内容。在许多情况下,这个用例被证明是令人讨厌的,或者在许多其他情况下,这是完全可以接受的。你需要决定什么对你有用。
What should the SP be doing differently during this window?
如果您希望强制 IdP 重新询问凭据并忽略其自己的会话,您可能需要标记发送的身份验证请求以使用 forcedAuthn=true
。然后 IdP 应该质询用户,假设它支持 SAML 强制身份验证请求。