【问题标题】:SAML2 IDP session timeout and SLOSAML2 IDP 会话超时和 SLO
【发布时间】:2014-09-17 23:17:02
【问题描述】:

我们有一个配置为会话不活动超时为 30 分钟的 SAML2 IDP。单点登录后,用户成功登录到 SP。现在,SP 也配置为 SAML 单点注销 (SLO)。似乎即使用户在 SP 应用程序中工作,会话超时也会发生。我想知道这是否是由于@IDP 设置了会话不活动而发生的。我想了解 IDP 如何知道用户会话处于活动状态@SP,因此它不会发出 SLO。有什么想法吗?

【问题讨论】:

  • 我会说这并不是 SAML 规范的一部分,它取决于您的 idp 是如何构建的,您使用什么软件进行 IDP?
  • 目前我正在使用 MS ADFS 进行测试。然而,IDP 的会话超时是一个更普遍的问题!

标签: session-timeout saml-2.0


【解决方案1】:

在大多数情况下,IDP 实现不会在 IDP 会话到期时调用单次注销。原因之一是许多 SP 实现不支持使用后端通道(使用 SOAP 调用)进行单次注销,这是在这种情况下唯一可用的绑定。

您的 SP 会话可能会过期,因为它遵循参数 sessionNotOnOrAfter,该参数包含在 AssertionAuthentication statement 中,包含在单点登录期间从 IDP 发送的 Response SAML 消息中。

所以回答您的问题 - 由于您的 IDP 设置(定义要在 sessionNotOnOrAfter 中发送的值),您的 SP 会话可能会过期,但 IDP 可能不会发出单次注销,也不会与您的SP 以任何方式(因此它也不知道是否仍在使用 SP 会话)。

您可能想要查看您的 SP 配置,看看您是否可以更改其与 sessionNotOnOrAfter 属性有关的行为,或更改 IDP 提供的值。

这是一个有根据的猜测,您的环境的行为可能与我假设的不同 - 正如 Stefan 已经评论的那样,这种行为不是标准化的。

【讨论】:

  • 这是有道理的。我会检查的。关于您的第一句话,您的意思是说 SLO 总是通过反向渠道执行吗?在当前情况下,我正在使用使用 SAML Web 配置文件的前端 SSO。我的 SP 有一个 SLO 端点,可以对其进行 HTTP 发布/重定向。
  • 不,我的意思是当 IDP 的会话到期时,唯一可用于向 SP 提供 SLO 的绑定是通过反向通道。过期发生在用户通常不与 IDP 交互并且 IDP 因此无法使用前端绑定的情况下,因为这需要用户代理(= Web 浏览器)的可用性。当然,当用户显式调用单次注销(= 不是在到期期间,而是通过例如单击注销按钮)时,IDP 和 SP 可以使用前端通道绑定来执行它。
  • 有道理!!感谢您的澄清。
猜你喜欢
  • 1970-01-01
  • 2014-05-04
  • 2017-01-31
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多