如何更改 Spring SAML 目标端点?

How to change Spring SAML destination endpoint?

是否可以在 Spring SAML 中更改目标端点?默认值为 /saml/SSO

我需要将其更改为 /sso。 我编辑了

<bean id="samlFilter"         class="org.springframework.security.web.FilterChainProxy">
<security:filter-chain pattern="/sso" filters="samlWebSSOProcessingFilter"/>

但是不行。 URL*/sso* 被视为需要身份验证的 URL,而不是应该接收 SAML 断言的那个。

我正在使用身份提供商初始化的 SSO,因此 URL 是接收 base64 编码 XML 文档(HTTP post 请求)的那个。

如果没有其他选择,我会做从/ssosaml/SSO的服务器端重定向,但是最好能够在 Spring Saml 配置中自定义 URL。

samlWebSSOProcessingFilter 的

filterProcessesUrl 属性 是正确答案并且工作正常。

在我的例子中,filterProcessesUrl 必须设置为“/sso”。 它对我不起作用,因为我将它设置为完整端点 URL (scheme://server:port/contextPath/sso) 而不仅仅是路径。

如文档中所述,其他一些属性必须设置为相同的值(samlFilter 过滤器和服务提供商元数据)。

最后,SAML 断言(来自身份提供者的XML 文档)必须包含与服务提供者中配置的相同的URL。