session-timeout - SAML2 IDP session 超时和 SLO

标签 session-timeout saml-2.0

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

最佳答案

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

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

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

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

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

关于session-timeout - SAML2 IDP session 超时和 SLO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966944/

相关文章:

django - "Refresh"Django session 变量以避免 session 超时?

C#.NET 如何使用表单例份验证将 session 超时设置为 6 小时?

c# - ASP.NET session 状态在 Web.config 和 Global.asax 中不起作用

node.js - 无法使 passport-saml 与 ADFS 一起工作

java - 无论 Activity 如何, session 都会在 30 分钟内注销

spring - IDP 发起的 SAML 登录错误 - 身份验证语句太旧,无法与值一起使用

java - SAML 2.0 - 如何验证发件人证书?

angular - 如何使用 Azure AD 作为身份提供者为 Angular 7.x 应用程序实现基于 SAML 的身份验证?

java - 如何使用 HTTP POST 在没有用户代理交互的情况下发送 AuthnRequest?

java - session 处理问题(更新数据库行)- session 与浏览器一起关闭