【发布时间】:2014-06-25 00:13:49
【问题描述】:
我们决定使用 Ping Federate 作为我们的 SSO 解决方案。我搜索了许多示例,但没有找到清楚描述我需要如何在 PingFederate 端设置我的 SP 和/或 IdP 的弹簧配置。我还没有找到一个 Spring 文档来描述我需要什么来实现它。
任何帮助,非常感谢。
【问题讨论】:
标签: single-sign-on saml saml-2.0 pingfederate spring-saml
我们决定使用 Ping Federate 作为我们的 SSO 解决方案。我搜索了许多示例,但没有找到清楚描述我需要如何在 PingFederate 端设置我的 SP 和/或 IdP 的弹簧配置。我还没有找到一个 Spring 文档来描述我需要什么来实现它。
任何帮助,非常感谢。
【问题讨论】:
标签: single-sign-on saml saml-2.0 pingfederate spring-saml
目前没有关于在 Spring SAML 和 Ping 之间建立联合的分步指南,但步骤与 Spring SAML 的quick start guide 中描述的非常相似。
最好的方法是从 Spring SAML 中包含的示例应用程序开始,将其配置为使用 Ping,然后将配置传输到您当前的 Spring 应用程序。
高级步骤是:
https://server:port/context/saml/metadata 下载其 SP 元数据(只需打开浏览器到该 URL 并存储它返回的所有内容)这会在两者之间建立联盟,并使您能够开始通过 Ping 验证您的用户。
元数据配置(bean 元数据)在您的情况下应如下所示:
<bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
<constructor-arg>
<list>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<constructor-arg>
<bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<constructor-arg>
<value type="java.io.File">classpath:security/idp.xml</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata"/>
</constructor-arg>
<property name="metadataTrustCheck" value="false"/>
</bean>
</list>
</constructor-arg>
</bean>
确保将 resources/security/idp.xml 替换为 PF 中的元数据。您可以删除所有未使用的 ExtendedMetadata bean 实例(如 SSO Circle 的实例)。元数据 bean 可以包含多个“链接”的原因是它可以同时支持多个 IDP。
【讨论】: