SAML SSO:一个SP元数据文件可以用于运行相同应用程序的5个单独的SP

时间:2014-11-18 16:20:10

标签: spring-security single-sign-on saml-2.0 spring-saml

我的应用程序现在使用 Spring Security SAML扩展作为 SAML 2.0服务提供商运行。我用身份提供者(ssocircle)交换了IDP / SP元数据文件,SSO工作正常。

但是,我的应用程序应该部署在 N 数量的计算机上,并且动态部署/计算机对的数量是一项业务要求(从1-20开始)< / strong>即可。

我是否必须为每个部署/计算机都有一个SP元数据文件,并在IDP中注册每个SP元数据文件以将其添加到他的信任圈,或者是否有办法让一个SP文件包含该信息关于所有服务器,因为它是相同的部署单元但不是同一个实例。

换句话说,如果我有5台机器(MyApp1,MyApp2,MyApp3,MyApp4,MyApp5)安装相同的应用程序,SP元数据文件可以创建一次不是5次。由此,我会将1个SP元数据文件注册到IDP,而不是拥有5个SP元数据文件(其中唯一的区别是机器的URL):

此外,有没有办法在MyApp1上对用户进行身份验证,以便在其他服务器(MyApp2,MyApp3,MyApp4,MyApp5)上进行身份验证?

1 个答案:

答案 0 :(得分:1)

只要应用程序位于不同的URL上,您就应该为每个URL使用单独的元数据。

您可以使用技巧并使用SAMLContextProviderLP配置每个应用程序,使用虚构方案,主机和端口(即假设所有5个应用程序都使用相同的公共URL)。但这意味着IDP的相同断言可用于登录这5个应用程序中的任何一个。如果您想要使用此路由,请查看Spring SAML手册中有关反向代理和负载平衡的章节。