用于单点登录服务的查询字符串参数的Spring SAML扩展条

web*_*key 2 spring-security spring-saml

Spring SAML Extension似乎忽略了在IDP xml中配置的查询字符串参数.这是配置

   <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://<provier host>/saml/?query1=xxx&amp;query2=yyy"/>
Run Code Online (Sandbox Code Playgroud)

1)当SSO请求被重定向时,SAML扩展似乎在之后剥离了什么?并仅发送SAMLRequest查询字符串参数.

2)我还想根据一些配置修改查询字符串参数值,这样我就可以点击环境特定的端点进行测试和开发

有没有办法在重定向之前拦截重定向请求以满足上述需求?

Vla*_*fer 6

查询参数由类中的底层OpenSAML库删除org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder.您可以扩展此类,覆盖方法buildRedirectURL并根据需要向构造的URL添加参数.然后,您的实现需要org.springframework.security.saml.processor.HTTPRedirectDeflateBinding使用其接受MessageDecoder和的实例的构造函数添加到bean MessageEncoder.