使用多个身份提供程序实现SAML

时间:2018-04-17 16:16:19

标签: spring-boot saml

我们有一个现有的报告应用程序,其中使用带有Spring-boot的SAML实现了身份验证模块,并与组织的SSO机制集成,其中身份提供者(IDP)是Ping身份。

根据当前流程,此应用程序的任何新用户都必须具有有效的ping凭据才能登录。这已经实现并且工作正常。组织的用户基本上是内部用户,并且已经拥有有效的凭据。并且为外部用户提供来自相同ping IDP的新凭证以访问该应用程序。

现在有一个计划来增强新客户/外部客户的流程,新客户的组织已经为其员工使用Auth0(另一个IDP)。 (我们也期待更多具有不同IDP的客户)

如果我们想使用Auth0来登录报表应用程序,那么最佳方法应该是什么。

正在讨论的设计选项: 当前的SAML-SpringBoot应用程序是基于配置的(https://github.com/ulisesbocchio/spring-boot-security-saml),并且application.properties文件中提供了所有必需的SAML配置。

saml.sso.metadata-generator.entity-id=https://<domain>/sp-context-path/saml/metadata
saml.sso.metadata-generator.entity-base-url=https://<domain>/sp-context-path
saml.sso.default-success-url=/home
#saml.sso.idp-selection-page-url=/idpselection
saml.sso.logout.default-target-url=/
saml.sso.idp.metadata-location=classpath:/saml/idp_metadata.xml
saml.sso.key-manager.store-location=classpath:/saml/keystore.jks
saml.sso.metadata-manager.refresh-check-interval=0
saml.sso.extended-metadata.idp-discovery-enabled=false
saml.sso.key-manager.store-pass=secret
saml.sso.key-manager.default-key=default
saml.sso.key-manager.key-passwords.spring=secret

如上所示,某些属性依赖于Identity提供程序,并且还在身份提供程序(ping)中配置了“.... entity-id”和“.... entity-base-url”。 / p>

我们计划拥有上述属性文件的多个副本,并且每个新客户都有一个副本,其中配置了客户特定的IDP详细信息。

我们还没有尝试过这个。但是,当我们获得新的IDP时,我们可能会尝试一下。

同时,对于上述或任何不同解决方案的任何建议将不胜感激。

此外,如果有人可以建议,如果我们可以在本地机器上使用不同的IDP进行一些实验,那也会有所帮助。

0 个答案:

没有答案