0

我们将 WSO2 IS 用于 SAML 2.0 SSO 实现,其中服务提供者使用组件空间库在 C# 中实现。用户通过 SSO 登录页面进行身份验证后,将使用 SAML 响应重定向到服务提供商,该响应经过压缩,然后进行 base64 编码。使用组件空间库的 C# 客户端在对 SAML 响应进行 base64 解码后需要一个 XML 字符串,而 WSO2 响应则不是这种情况。此标准是否以压缩形式发送 SAML 响应?是否有用于此压缩的标准算法?

它是 WSo2 中的错误吗?

4

2 回答 2

0

IS 4.1.0 将 4.0.7 标记用于 sso/saml 提供程序实现。假设您使用的是4.1.0 ,您可以在此处找到压缩/编码/marhsalling:http://svn.wso2.org/repos/wso2/carbon/platform/tags/4.0.7/components/identity/org.wso2 .carbon.identity.sso.saml/4.0.7/src/main/java/org/wso2/carbon/identity/sso/saml/util/SAMLSSOUtil.java
其他发行版使用类似或相同的实现,在这种情况下你有查看 wso2-jungle。我想你必须找到一个用于 c# 的 opensaml 库,它可以帮助你进行解组过程。据我了解您的评论,您已经知道如何解压缩和解码响应,所以只有 unmarshall 丢失了。

于 2013-08-14T19:42:06.980 回答
0

Yes, It's a known bug in IS 4.1.0, and this is fixed in the latest version: IS 4.5.0

According to the SAML specifications, response using the POST binding should not be compressed, only base64 encoded.

于 2013-09-11T10:27:38.750 回答