我们决定使用Ping federated作为我们的SSO解决方案。我搜索了许多示例,但没有找到一个spring配置,它清楚地描述了我需要如何在pingfederation端设置SP和/或IdP。我还没有找到一个Spring文档来描述我需要什么来实现这个
任何帮助,非常感谢。
目前还没有关于在Spring SAML和Ping之间建立联邦的分步指南,但是这些步骤与Spring SAML的快速入门指南中描述的非常相似。
最好的方法是从Spring SAML中包含的示例应用程序开始,将其配置为与Ping一起工作,然后将配置转移到当前的Spring应用程序。
高级步骤如下:
- 部署Spring SAML样例应用
- 从
https://server:port/context/saml/metadata
下载SP元数据(只需打开浏览器到URL并存储它返回的所有内容) - 通过创建新的"SP连接"来配置Ping,作为您导入之前存储的元数据的过程的一部分,首先您可以使用大多数默认设置
- 完成后,使用管理功能从Ping导出IDP元数据->上一步中创建的连接的元数据导出
- 将IDP元数据导入到Spring SAML(示例在手册中)
这将在两者之间建立联邦,并允许您开始通过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>
确保用PF的元数据替换resources/security/idp.xml,您可以删除所有未使用的ExtendedMetadata bean实例(例如SSO Circle)。元数据bean可以包含多个"链接"的原因是它可以同时支持多个idp。