Утверждение SAML не выполняется - PullRequest
0 голосов
/ 31 мая 2018

У меня есть приложение Spring-SAML с Okta в качестве IDP.Я выполняю поток, инициированный IDP, и получаю следующее исключение:

org.opensaml.common.SAMLException: Endpoint with message binding urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST and URL https://<myCompanyUrl>.com/saml/SSO wasn't found in local metadata

Когда я просматриваю свои локальные метаданные, я вижу:

 <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                 Location="https://<server IP address> :<server port>/saml/SSO" index="0" isDefault="true"/>

Похоже, что он пытается сопоставить URL-адрес, содержащийимя хоста для URL с IP-адресом сервера.Поле местоположения генерируется автоматически.Кто-нибудь знает, какой параметр конфигурации влияет на это?


ОБНОВЛЕНИЕ 1

вот моя конфигурация metadataGeneratorFilter:

<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
    <constructor-arg>
        <bean class="org.springframework.security.saml.metadata.MetadataGenerator">
            <property name="entityId" value="https://myHostname/myApp"/>
        </bean>
    </constructor-arg>
</bean>

1 Ответ

0 голосов
/ 01 июня 2018

Все правильно, загадка решена:

В документации Spring-SAML, когда вы находитесь в настройке обратного прокси-сервера / балансировки нагрузки, вы должны обязательно указать

<property name="entityBaseURL" value="https://www.myserver.com/spring-security-saml2-sample"/>

См. Документация SPRING-SAML 10.1 Обратные прокси и балансировщики нагрузки

...