WSO2IS:SSO 会话超时不起作用

WSO2IS: SSO session timeout doesn't work

我目前正在与几个服务提供商一起使用 WSO2 身份服务器。我还在它们之间配置了单点登录。

根据 the documentation,系统管理员可以为 /repository/conf/identity.xml 下的任何 SSO 会话配置以秒为单位的有效性,以便用户可以输入其凭据,勾选 "remember me",并在会话仍然有效时登录到任何服务提供商。但是,更改此值似乎没有任何效果。即使 SSO 会话已过期,用户仍然可以登录到其他服务提供商。

进一步搜索 this JIRA WSO2 氧气罐,描述了完全相同的问题,并且有一个在 "Remember me" cookie 上调用 setMaxAge 的补丁,但这并没有解决问题。

此外,根据this question,内存中的会话必须在 15 分钟后持久化,而持久化无法正常工作。有几个补丁。然而,当我尝试一个值,比如 30 秒时,我仍然可以在 SSO 会话过期后登录另一个服务提供商,所以我不认为这是一个持久性问题,因为会话仍在缓存。

身份服务器上的会话究竟是如何过期的?它是在超时时向每个配置的服务提供商发送 LogoutRequests,还是过期仅对新会话有效?

身份服务器上的会话究竟是如何过期的?

默认情况下,Identity Server 5.0 有 15 分钟的会话,它只能使用 web.xml(位于 <IS_HOME>/repository/conf/tomcat/carbon/WEB-INF/ 文件夹)

来减少时间

如果您为 Identity Server 5.0 安装了 Service Pack 1,它也具有会话持久性。所以用那个 如 docs.

中所述,可以增加 Identity Server 的会话超时

它是在超时时向每个配置的服务提供商发送注销请求,还是过期仅对新会话有效?

Identity Server 会话超时仅对新会话有效,它不会向服务提供商发送任何注销请求以使现有服务提供商的会话无效。