将我的应用程序与SAML集成时遇到问题。
以下是我的错误:
org.springframework.security.saml.SAMLProcessingFilter.attemptAuthentication: Incoming SAML message is invalid
org.opensaml.common.SAMLException: Endpoint with message binding urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST and URL https://myappruldotom/saml/SSO wasn't found in local metadata at org.springframework.security.saml.util.SAMLUtil.getEndpoint(SAMLUtil.java:357) ~[spring-security-saml2-core-1.0.2.RELEASE.jar:1.0.2.RELEASE]
Run Code Online (Sandbox Code Playgroud)
我的应用程序已部署在AWS上,当我通过编写自定义SAMLProcessingFilter并添加getEndpoint()的实现以添加多个日志语句并复制getEndpoint()方法的确切内容来添加日志语句时。
日志语句显示该端点将作为IP地址进入:MySAMLProcessingFilter.getEndpoint:MySAMLLOG-endpoint.getLocation()= https://10.193.160.123:443/mysamlapp/saml/SSO
我在SAML配置中定义了entityId,但这也无济于事。我的配置文件中的entityId为:
<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://myappruldotom/mysamlapp/saml/metadata"/>
<property name="requestSigned" value="false"/>
</bean>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
securityContext.xml文件:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
<!-- ############################ Security Settings ############################ -->
<!-- Enable auto-wiring -->
<context:annotation-config/>
<!-- Scan for auto-wiring classes in spring saml packages -->
<context:component-scan base-package="org.springframework.security.saml"/>
<!-- …Run Code Online (Sandbox Code Playgroud)