Spring Security SAML服务提供者元数据生成

时间:2019-03-01 16:24:28

标签: spring-security saml-2.0 spring-saml

Hello Spring Security SAML的专业人士和爱好者,

例如,服务提供商元数据生成产生类似

<md:AssertionConsumerService Location="http://localhost:8080/<app-servlet-context>/saml/SSO"/>

在本地Tomcat容器上部署并运行时,Identity Management可以使用它来配置SAML使用者URL。

我们正在使用Okta和OneLogin进行测试。大家都很开心。

我面临的问题是,部署到预先配置了特定DNS记录返回值的docker容器上的相同Web应用程序配置

<md:AssertionConsumerService Location="http://<app-context-root>:8080/<app-servlet-context>/saml/SSO"/>

用应用程序上下文根替换localhost(默认值?)。

找不到实际域http://<app-name>.<company-domain>.com,因此无法使用断言消费者服务位置值来配置由IdP发起的SSO。

与“单一注销服务位置”值相同。

有人可以帮助我理解此行为并配置我的实现,以便服务提供商元数据中提供的AssertionConsumerServiceSingleLogoutService的位置看起来像

<md:AssertionConsumerService Location="http://<my-app-dns-domain-name>:8080/<app-servlet-context>/saml/SSO"/>

<md:SingleLogoutService Location="http://<my-app-dns-domain-name>:8080/<app-servlet-context>/saml/SingleLogout"/>

谢谢!

1 个答案:

答案 0 :(得分:0)

您是如何生成元数据的?您是通过编程方式完成的吗?

如果是,则可以使用MetadataGenerator类的setEntityBaseURL()方法。