0
votes

Hello Spring Security SAML pros and enthusiasts alike,

For instance, Service Provider metadata generation yields something like

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

when deployed and running on local Tomcat container, which can be used by Identity Management to configuration SAML Consumer URL.

We're using Okta and OneLogin to test. Everyone's happy.

Issue I'm facing is that same web application configuration deployed on to docker container preconfigured with specific DNS record returns

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

replacing localhost with application context root (default?).

Actual domain http://<app-name>.<company-domain>.com is nowhere to be found, rendering Assertion Consumer Service Location value unusable for purpose of configuring IdP-initiated SSO.

Same case for Single Logout Service Location value.

Can someone help me understand this behavior and configure my implementation so Location for both AssertionConsumerService and SingleLogoutService provided in Service Provider Metadata looks like

<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"/>

Thank you!

1

1 Answers

0
votes

How did you generate your metadata ? Did you do it programmatically ?

If yes you can use the method setEntityBaseURL() of MetadataGenerator class.