该请求通过 HTTP-Redirect 绑定方式发送,其中 SAMLRequest、RelayState、SigAlg 与 Signature 四个参数合力保证了消息的有效载荷及完整性。 SAML 协议支持多种传输绑定(Binding),其中 HTTP-Redirect 绑定利用浏览器重定向与 URL 查询参数来传递 SAML 请求,实现了对 GET 方法的兼容。 安全性考虑在 HTTP-Redirect 绑定中,消息暴露在 URL 查询参数中,容易被中间人窃听或篡改。 在理解该 URL 的时候,关注这四个查询参数的编码与签名流程,能够帮助准确掌握 HTTP-Redirect 绑定的实现原理与安全保证。
names:tc:SAML:2.0:protocol"> <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:<em>HTTP-Redirect</em>
经测试发现, 如下包含 gateway 字段的 VirtualService 定义, 无法完成内网的 http-redirect。
unspecified</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:<em>HTTP-Redirect</em>