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

时间:2015-01-14 00:18:47

标签: java weblogic single-sign-on saml-2.0 wso2is

我需要使用WSO2 Identity Server作为身份提供程序并使用Weblogic 11g作为服务提供程序来实现SAML 2.0单一注销。

根据SAML规范,参与单一注销过程的服务提供商有两种不同的角色:启动它的服务提供商,向身份提供商发送LogoutRequest,以及从中获取LogoutRequest的服务提供商。身份服务器并使用LogoutResponse进行相应响应并关闭其各自的会话。当这些服务提供商完成身份提供者后,然后相应地响应第一个使用自己的LogoutResponse启动它的服务提供者。 http://winfinit.tumblr.com/post/84924299219/saml2-single-logout-slo-with-wso2-is-4-5

在这种情况下,我需要实现第一个角色,当我的自定义servlet生成LogoutRequest并将其发送到身份服务器时:由于Weblogic 11g令人惊讶地不支持SAML2 Single Logout,因此servlet将生成并响应SAML规范并使用Weblogic API中的ServletAuthentication.logout()方法关闭会话。

<?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>

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

0 个答案:

没有答案