首页 文章

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

提问于
浏览
2

我正在尝试配置我们的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元数据问题?

1 回答

  • -1

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

    但是,没有必要,v3的步骤非常相似 .

    • AFAI可以告诉,Shibboleth不支持未指定的名称ID格式 . 可以调整它来支持它,但我没有发现让Shibboleth使用瞬态格式的问题 . 同样,我也看到了不使用持久性名称id的原因 . 因此,无需修改名称ID配置 .

    • 现在,在文件/conf/attribute-filter.xml(或/conf/services.xml加载的属性过滤器文件)上定义了AttributeFilterPolicy . 此策略指定可以向每个SP公开哪些属性,因此每个SP都需要一个条目 .

    • 由于IS还不支持元数据文件,您需要定制一个并将其保存在/metadata/wso2is.xml .WSO2站点中的那个是一个好的开始 . 请记住,如果NameID格式需要未指定的格式,并且您可能希望在SPSSODescriptor中传递其他属性,那么我必须添加以下内容: AuthnRequestsSigned="true" WantAssertionsSigned="true" . 我还添加了WSO2IS在向Shibboleth发送请求时将使用的签名和加密x509证书 .

    • 接下来,您需要通过向文件/conf/metadata-providers.xml添加类似以下内容来告诉Shibboleth您要使用该元数据文件 <MetadataProvider id="wso2is" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/wso2is.xml"> </MetadataProvider>

    • 现在,当您在WSO2IS上配置IdP时,您需要将Shibboleth与WSO2IS共享的声明/属性(在Shibboleth中通过/conf/attribute-filter.xml定义)映射到WSO2 IS方言 . 为此,您转到IdP配置,展开声明配置,然后展开基本声明配置,您可以根据需要添加任意数量的声明映射 . This is an example of the Claims Mappings

    我希望这有帮助 .

相关问题