如何更改 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 请求)的那个。
如果没有其他选择,我会做从/sso到saml/SSO的服务器端重定向,但是最好能够在 Spring Saml 配置中自定义 URL。
samlWebSSOProcessingFilter 的 filterProcessesUrl 属性 是正确答案并且工作正常。
在我的例子中,filterProcessesUrl 必须设置为“/sso”。
它对我不起作用,因为我将它设置为完整端点 URL (scheme://server:port/contextPath/sso) 而不仅仅是路径。
如文档中所述,其他一些属性必须设置为相同的值(samlFilter 过滤器和服务提供商元数据)。
最后,SAML 断言(来自身份提供者的XML 文档)必须包含与服务提供者中配置的相同的URL。
是否可以在 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 请求)的那个。
如果没有其他选择,我会做从/sso到saml/SSO的服务器端重定向,但是最好能够在 Spring Saml 配置中自定义 URL。
filterProcessesUrl 属性 是正确答案并且工作正常。
在我的例子中,filterProcessesUrl 必须设置为“/sso”。 它对我不起作用,因为我将它设置为完整端点 URL (scheme://server:port/contextPath/sso) 而不仅仅是路径。
如文档中所述,其他一些属性必须设置为相同的值(samlFilter 过滤器和服务提供商元数据)。
最后,SAML 断言(来自身份提供者的XML 文档)必须包含与服务提供者中配置的相同的URL。