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

问题描述 投票:0回答:1

你好Spring Security SAML专业人士和爱好者一样,

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

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

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

我们正在使用Okta和OneLogin进行测试。每个人都很开心。

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

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

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

实际域http://<app-name>.<company-domain>.com无处可寻,使得Assertion Consumer Service Location值无法用于配置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"/>

谢谢!

spring-security saml-2.0 spring-saml
1个回答
0
投票

你是如何生成元数据的?你是以编程方式做的吗?

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

© www.soinside.com 2019 - 2024. All rights reserved.