【问题标题】:How do I configure Shibboleth v3 IdP for WSO2 Identity Server?如何为 WSO2 身份服务器配置 Shibboleth v3 IdP?
【发布时间】:2016-11-03 03:01:21
【问题描述】:

我正在尝试配置我们的 WSO2 Identity Server (5.1.0) 以与我们的 Shibboleth Identity Provider v3 (3.2.1) 服务器通信。

当我尝试进行身份验证时,我的 Shibboleth IdP 日志中出现错误,提示我 WSO2 服务器的元数据错误:

2016-06-30 15:24:48,564 - DEBUG [org.opensaml.saml.metadata.resolver.impl.AbstractMetadataResolver:334] - Metadata backing store does not contain any EntityDescriptors with the ID: MYENTITYID
2016-06-30 15:24:48,564 - DEBUG [org.opensaml.saml.metadata.resolver.impl.BasicRoleDescriptorResolver:198] - Metadata document did not contain a descriptor for entity MYENTITYID
2016-06-30 15:24:48,564 - DEBUG [org.opensaml.saml.metadata.resolver.impl.BasicRoleDescriptorResolver:281] - Metadata document did not contain any role descriptors of type {urn:oasis:names:tc:SAML:2.0:metadata}SPSSODescriptor for entity MYENTITYID
2016-06-30 15:24:48,564 - DEBUG [org.opensaml.saml.metadata.resolver.impl.BasicRoleDescriptorResolver:252] - Metadata document does not contain a role of type {urn:oasis:names:tc:SAML:2.0:metadata}SPSSODescriptor supporting protocol urn:oasis:names:tc:SAML:2.0:protocol for entity MYENTITYID

我在此处关注 WSO2 站点的文档: https://docs.wso2.com/display/IS510/How+To%3A+Configure+Shibboleth+IdP+as+a+Trusted+Identity+Provider

我的 Shib IdP v3 与其他服务一起使用,但对于该版本来说是一个非常新的版本,除了为依赖方设置属性解析和发布之外,通常不会深入研究 Shibboleth。

在 Shibboleth IdP 领域或 WSO2 身份服务器领域有更多经验的人能否为我指明解决此问题的方向,或者至少缩小它是一般 IdP 配置问题还是 WSO2 元数据问题?

【问题讨论】:

  • 该文档似乎有一些问题(有点过时),WSO2 正在对此进行调查,并会尽快回复您。

标签: wso2 wso2is shibboleth


【解决方案1】:

WSO2 站点的文档基于 Shib IdP v2。 您仍然可以在 v3 上使用它,但您需要启用 v2 兼容性 https://wiki.shibboleth.net/confluence/display/IDP30/NameIDGenerationConfiguration

不过没必要,v3 的步骤都差不多。

  1. AFAI 可以看出,Shibboleth 不支持未指定的名称 id 格式。可以对其进行调整以支持它,但我没有发现让 Shibboleth 使用瞬态格式的问题。同样,我也看到了不使用持久名称 id 的理由。因此,无需修改name id配置。
  2. 现在在文件 /conf/attribute-filter.xml(或 /conf/services.xml 加载的属性过滤器文件)上定义了 AttributeFilterPolicy。该政策规定了可以向每个 SP 披露哪些属性,因此您需要为每个 SP 提供一个条目。
  3. 由于 IS 还不支持元数据文件,您需要定制一个并将其保存在 /metadata/wso2is.xml WSO2 站点中的一个是一个好的开始。请记住,如果 NameID 格式需要未指定的格式,则它不会执行任何操作,并且您可能希望在 SPSSODescriptor 中传递其他属性,在我的情况下,我必须添加以下内容:AuthnRequestsSigned="true" WantAssertionsSigned="true"。我还添加了 WSO2IS 在向 Shibboleth 发送请求时将使用的签名和加密 x509 证书。
  4. 接下来,您需要通过在 /conf/metadata-providers.xml <MetadataProvider id="wso2is" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/wso2is.xml"> </MetadataProvider> 文件中添加类似以下内容来告诉 Shibboleth 您想要使用该元数据文件
  5. 现在,当您在 WSO2IS 上配置 IdP 时,您需要将 Shibboleth 与 WSO2IS 共享的声明/属性(由 /conf/attribute-filter.xml 在 Shibboleth 中定义)映射到 WSO2 IS 方言。为此,您转到您的 IdP 配置,展开声明配置,然后展开基本声明配置,您可以根据需要添加任意数量的声明映射。This is an example of the Claims Mappings

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 2012-11-18
    相关资源
    最近更新 更多