我们有一个作为服务提供者激活的应用程序。我们允许客户在我们的系统中配置他们的IdP元数据字段,或者上传元数据文件。当两个客户试图在我们的系统中配置相同的IdP元数据时,我们遇到了一个问题,因为CachingMetadataManager将在缓存映射键( IdP实体ID)上发生冲突。
在我们准备客户1将IdP元数据添加到我们的系统IdP X (例如SSO圈),然后客户2为相同的IdP X向系统添加一个稍微不同的IdP元数据时,支持这一需求的最佳方法是什么?
我们意识到,IdP元数据对于两个客户通常都应该是完全相同的,但是在某些情况下它们是不同的,这在库中是否支持?
谢谢
发布于 2015-01-09 14:15:40
Spring不支持多次使用相同的实体ID导入元数据(它只部分支持多租户)。这样的用例需要对Spring库进行定制。
将元数据的实体ID更改为唯一值将中断在单点登录期间执行的检查--该值必须与IDP在发出SAML断言时使用的值相同。
如果您希望帮助实现这样的解决方案,请随时与Spring的商业支持联系。
发布于 2015-01-08 19:41:06
您可以在CachingMetadataManager中添加尽可能多的国内流离失所者,但是在IDP.xml中,entityID值必须是唯一的。因此,根据您的需求保持IDP.xml相同,并更改所需内容,并将entityID更新为唯一值。
发布于 2017-06-29 04:11:56
请参考我在这里发布的解决方案--只需保持entityIds对每个IdP元数据的惟一性
https://stackoverflow.com/questions/27845410
复制相似问题