如何为WSO2 Identity Server配置Shibboleth v3 IdP?

时间:2016-06-30 20:40:57

标签: wso2 wso2is shibboleth

我正在尝试配置我们的WSO2身份服务器(5.1.0)以与我们的Shibboleth身份提供商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元数据问题?

1 个答案:

答案 0 :(得分:-1)

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

没有必要,v3的步骤非常相似。

  1. AFAI可以告诉,Shibboleth不支持未指定的名称ID格式。可以调整它来支持它,但我没有发现让Shibboleth使用瞬态格式的问题。同样,我也看到了不使用持久性名称id的原因。因此,无需修改名称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共享的声明/属性(在Shibboleth中通过/conf/attribute-filter.xml定义)映射到WSO2 IS方言。为此,您转到IdP配置,展开声明配置,然后展开基本声明配置,您可以根据需要添加任意数量的声明映射。This is an example of the Claims Mappings
  6. 我希望这会有所帮助。