WSO2 Identity Server 4.5 上的单次注销

Posted

技术标签:

【中文标题】WSO2 Identity Server 4.5 上的单次注销【英文标题】:Single Logout on WSO2 Identity Server 4.5 【发布时间】:2013-11-24 02:35:43 【问题描述】:

由于 WSO2 官方 SSOAgent 依赖项太多,我开发了我的 sso 过滤器来处理 SAML 请求/响应。 当我迁移到 IS 4.5 时,SSO 似乎没问题,但单点注销不再起作用。 发布注销请求后,我不断收到带有所有空参数的重定向页面(表单 action=null,SAMLResponse=null,relayStates=null),并被重定向到控制台登录页面而不是我的应用程序,因此我无法注销。

我的 SAMLRequest 看起来像:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<saml2p:LogoutRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://is-dev.com:9443/samlsso" ID="ebdokpbchiddgikaolkibeifeccocjcajdgbjokd" IssueInstant="2013-11-23T21:38:45.487Z" NotOnOrAfter="2013-11-23T21:43:45.487Z" Reason="Single Logout">
    <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">sample</saml2:Issuer>
    <saml2:NameID xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">DOMAIN.COM/jack@domain.com</saml2:NameID>
    <saml2p:SessionIndex>3fdf4df7-4b0a-4c20-8fe2-01701c78161f</saml2p:SessionIndex>
</saml2p:LogoutRequest>

我看不出有什么问题。而且我不断从后端收到这样的错误:

错误 org.wso2.carbon.identity.sso.saml.processors.LogoutRequestProcessor - 28adcd7b-ad16-43b7-b57b-6defb3a33fda]。预期:[56293095-95e4-4379-a723-3e1e6b4c939a] org.wso2.carbon.identity.sso.saml.processors.LogoutRequestProcessor

有人知道它是否相关吗?

【问题讨论】:

【参考方案1】:

似乎在 SAML 注销响应中发送的“SessionIndex”无效。 Expected: [56293095-95e4-4379-a723-3e1e6b4c939a] IDP 似乎在期待别的东西。我想你能做的是,请从 IDP --> SP 中获取 SAML 响应。 (登录时)。在该请求中,您可以找到“SessionIndex”并验证您在注销请求中发送相同的“SessionIndex”。更多详情可以参考this

【讨论】:

以上是关于WSO2 Identity Server 4.5 上的单次注销的主要内容,如果未能解决你的问题,请参考以下文章

比较WSO2 Identity Server和SCIM

使用 WSO2 Identity Server 和 WSO2 API Manager 保护后端

WSO2 Identity Server 和 WSO2 API Manager 集成 - 错误:传输错误 202:绑定失败:地址已在使用中

WSO2 Identity Server 集群:集群中的每个节点是不是需要共享一个通用的 SQL 数据库?

如何在WSO2 Identity Server 5.3.0中从CSV批量导入批量密码过期时间

在没有浏览器的情况下对WSO2 Identity Server进行身份验证,并获取SAML2断言消息