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。
与“单一注销服务位置”值相同。
有人可以帮助我理解此行为并配置我的实现,以便服务提供商元数据中提供的AssertionConsumerService
和SingleLogoutService
的位置看起来像
<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"/>
谢谢!
答案 0 :(得分:0)
您是如何生成元数据的?您是通过编程方式完成的吗?
如果是,则可以使用MetadataGenerator类的setEntityBaseURL()方法。