Java 在Weblogic上实现SAML单次注销-如何从Weblogic/IdP获取SessionIndex?

Java 在Weblogic上实现SAML单次注销-如何从Weblogic/IdP获取SessionIndex?,java,weblogic,single-sign-on,saml-2.0,wso2is,Java,Weblogic,Single Sign On,Saml 2.0,Wso2is,我需要使用WSO2 Identity Server作为身份提供者和Weblogic 11g作为服务提供者来实现SAML 2.0单次注销 根据SAML规范,参与单一注销过程的服务提供商可以扮演两个不同的角色:启动该过程的服务提供商,向身份提供商发送LogoutRequest的服务提供商,以及从身份服务器获得LogoutRequest并相应地使用LogoutResponse进行响应并关闭其各自会话的服务提供商。当这些服务提供者完成后,身份提供者将相应地响应第一个服务提供者,第一个服务提供者使用自己的

我需要使用WSO2 Identity Server作为身份提供者和Weblogic 11g作为服务提供者来实现SAML 2.0单次注销

根据SAML规范,参与单一注销过程的服务提供商可以扮演两个不同的角色:启动该过程的服务提供商,向身份提供商发送LogoutRequest的服务提供商,以及从身份服务器获得LogoutRequest并相应地使用LogoutResponse进行响应并关闭其各自会话的服务提供商。当这些服务提供者完成后,身份提供者将相应地响应第一个服务提供者,第一个服务提供者使用自己的LogoutResponse启动所有服务

在这个场景中,我需要实现第一个角色,当我的自定义servlet生成LogoutRequest并将其发送到identity server时:由于Weblogic 11g不支持SAML2单次注销,servlet将根据SAML规范生成和响应,并使用ServletAuthentication.Logout()关闭会话WebLogicAPI中的方法

<?xml version="1.0" standalone="yes"?> 
<saml2p:LogoutRequest 
    xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" 
    ID="jofpphihclkakoifhaeenbdeakfidojehgnpobpg" 
    IssueInstant="2014-05-05T20:00:13.653Z" 
    NotOnOrAfter="2014-05-05T20:05:13.653Z" 
    Reason="Single Logout" 
    Version="2.0">
    <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">web3001</saml2:Issuer>
    <saml2:NameID xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">admin</saml2:NameID> 
    <saml2p:SessionIndex>8c97787b-48f5-425d-8f88-39befe58eaad</saml2p:SessionIndex>
</saml2p:LogoutRequest>

web3001
管理
8c97787b-48f5-425d-8f88-39befe58eaad

获取填充最后两个属性(即saml2:NameID和saml2p:SessionIndex)的值的最佳方法是什么?

Weblogic 12.2仍然不支持SAML 2.0 SLO“…因为Weblogic Server不支持SAML注销…”它可能永远不会支持。