Hello Spring Security: как профессионалы, так и энтузиасты SAML,
Например, генерация метаданных поставщика услуг выдает что-то вроде
<md:AssertionConsumerService Location="http://localhost:8080/<app-servlet-context>/saml/SSO"/>
при развертывании и запуске в локальном контейнере Tomcat, который можно использоватьпо Identity Management для настройки SAML Consumer URL.
Мы используем Okta и OneLogin для тестирования.Все довольны.
Проблема, с которой я сталкиваюсь, заключается в том, что та же конфигурация веб-приложения, развернутая в докере, предварительно настроенная с определенной записью DNS, возвращает
<md:AssertionConsumerService Location="http://<app-context-root>:8080/<app-servlet-context>/saml/SSO"/>
, заменяя localhost
корневым контекстом приложения (по умолчанию)?).
Фактический домен http://<app-name>.<company-domain>.com
нигде не найден, что делает значение местоположения службы поддержки пользователей непригодным для настройки SSO, инициированного IdP.
То же самое для значения местоположения службы единого выхода из системы.
Может ли кто-нибудь помочь мне разобраться в этом поведении и настроить мою реализацию, чтобы расположение для 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"/>
Спасибо!