你好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。
单一注销服务位置值的情况相同。
有人可以帮助我理解这种行为并配置我的实现,因此服务提供者元数据中提供的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"/>
谢谢!
你是如何生成元数据的?你是以编程方式做的吗?
如果是,则可以使用MetadataGenerator类的方法setEntityBaseURL()。