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 和 WSO2 API Manager 保护后端
WSO2 Identity Server 和 WSO2 API Manager 集成 - 错误:传输错误 202:绑定失败:地址已在使用中
WSO2 Identity Server 集群:集群中的每个节点是不是需要共享一个通用的 SQL 数据库?