2013-02-08 60 views
2

我想在我的java webapp中实现WSO2单注销功能。
我无法理解这件事:WSO2单注销实现

我为2个发行者设置了SAML单一注销选项。

然后我呼叫注销第一个服务提供商(SP),IdP使用SAML Response将其重定向到某些注销URL,SP获取此请求并使http会话失效。

第二个SP也通过SAML Response从IdP获取请求,但该请求中的http会话是IdP和SP之间的会话,我需要使Web浏览器和SP之间的会话无效。我怎样才能得到这个会议?

+0

你在webapp上使用SP软件有什么用? –

+0

简单的java小服务程序 – ytkopobot

+0

好的,所以你只是手动处理所有的SAML XML? –

回答

2

您需要做的是手动跟踪HTTP会话与什么sessionSAMLIndex相关联(您在登录时在断言中获得该信息)。也许Map<String, HttpSession>

LogoutRequest包含会话索引。当你得到LogoutRequest时,你会发现http会话并使其无效。

+0

谢谢,我想过,但希望有另一种方式:) – ytkopobot

+0

没办法,只有艰难的方式 –

+0

@Stefan能否请您提供一些关于如何使用索引查找会话的细节,以及cookie会发生什么 – Shurmajee