WSO2 Identity Server 4.6.0无法处理以下WSO2 (SLO)注销请求:
<saml2p:LogoutRequest Destination="https://idp:9443/samlsso"
ID="_f2a42cceb9e680b8d91fafd44d05391d27afa997"
IssueInstant="2014-03-26T18:18:10.842Z"
Version="2.0"
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
>
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">sp</saml2:Issuer>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
>REALM/email@example.com</saml2:NameID>
</saml2p:LogoutRequest>它提供了:
[2014-03-26 19:18:11,009] ERROR - Error Processing the Logout Request {org.wso2.carbon.identity.sso.saml.processors.LogoutRequestProcessor}
java.lang.IndexOutOfBoundsException: Index: 0
at java.util.Collections$EmptyList.get(Collections.java:3212)
at org.opensaml.xml.util.LazyList.get(LazyList.java:89)
[...]
Caused by: java.lang.IndexOutOfBoundsException: Index: 0
at java.util.Collections$EmptyList.get(Collections.java:3212)
at org.opensaml.xml.util.LazyList.get(LazyList.java:89)
at org.opensaml.xml.util.XMLObjectChildrenList.get(XMLObjectChildrenList.java:96)
at org.opensaml.xml.util.XMLObjectChildrenList.get(XMLObjectChildrenList.java:32)
at org.wso2.carbon.identity.sso.saml.processors.LogoutRequestProcessor.process(LogoutRequestProcessor.java:114)
... 38 more你知道为什么,以及如何补救吗?
更新:
我相信它与SessionIndex的元素有关,但根据http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf SAML文档,它在LogoutRequest中是可选的。
发布于 2014-05-23 17:56:09
是的,SessionIndex是必须的。
SessionIndex -这是用于标识给定用户的IDP和SP的用户会话的会话标识符。
请参考How SAML2 Single Logout Works了解更多详细信息。
https://stackoverflow.com/questions/22669931
复制相似问题