具有不同IDP的多个SSO集成

时间:2018-06-22 06:54:17

标签: java grails spring-security saml-2.0 opensaml

我对这所有SSO还是陌生的,并且我正在使用grails-plugin将多个IDP集成到我的应用程序中。对于单个IDP,它可以正常工作,但是当我尝试添加多个IDP时,它会给我类似

的错误

Servlet.service() for servlet [default] in context with path [] threw exception [org.opensaml.saml2.metadata.provider.MetadataProviderException: Metadata for entity <entityID> and role {urn:oasis:names:tc:SAML:2.0:metadata}IDPSSODescriptor wasn't found] with root cause Message: Metadata for entity <entityID> and role {urn:oasis:names:tc:SAML:2.0:metadata}IDPSSODescriptor wasn't found

我使用哪个IDP都没有关系,只有最后一个条目有效,而对于其他条目,它会给我同样的错误。

似乎它使用sp别名并​​为其保存最后一个条目并为此服务。

此外,如果有帮助,我会在日志中得到Index for AssertionConsumerService not specified, returning default

我知道它采用了日志context.SAMLContextProviderImpl - Using user specified IDP <entityID> from request

中显示的正确IDP

请帮助我坚持很长时间

1 个答案:

答案 0 :(得分:1)

解决了这个问题,我使用了多个idp文件,但是所有idp文件都应该在一个文件中,并且应该在EntitiesDescriptor根标记下。错过了那部分。