SAML 断言失败
SAML assertion fails
我有一个使用 Okta 作为 IDP 的 Spring-SAML 应用程序。我正在做 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 与带有服务器 IP 地址的 URL 相匹配。位置字段是自动生成的。有人知道什么配置选项会影响这个吗?
更新 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>
好吧谜底已解:
根据 Spring-SAML 文档,当您处于反向代理/负载平衡器设置中时,您必须确保指定
<property name="entityBaseURL" value="https://www.myserver.com/spring-security-saml2-sample"/>
见SPRING-SAML documentation
10.1 反向代理和负载平衡器
我有一个使用 Okta 作为 IDP 的 Spring-SAML 应用程序。我正在做 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 与带有服务器 IP 地址的 URL 相匹配。位置字段是自动生成的。有人知道什么配置选项会影响这个吗?
更新 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>
好吧谜底已解:
根据 Spring-SAML 文档,当您处于反向代理/负载平衡器设置中时,您必须确保指定
<property name="entityBaseURL" value="https://www.myserver.com/spring-security-saml2-sample"/>
见SPRING-SAML documentation 10.1 反向代理和负载平衡器