【问题标题】:Usuing CURL to POST SAML Response in Spring-SAML在 Spring-SAML 中使用 CURL 发布 SAML 响应
【发布时间】:2018-03-05 23:12:31
【问题描述】:

我正在尝试使用 CURL 命令发布从 IDP 接收到的响应,即在我拥有的别名之一上对 SP 的 SAML 响应。 我正在使用 Spring-SAML 框架。 如果我想使用 CURL 命令将 SAML 响应发布到 SP,有人可以帮助我使用需要使用的确切命令吗?

【问题讨论】:

    标签: spring curl spring-saml


    【解决方案1】:

    SAML 响应相当复杂,包含一系列随时间过期的值,需要对应于最初发送的 SAML 身份验证请求,并取决于特定 SAML 联合的配置。由于这些原因,无法制作通用的 CURL 命令。

    【讨论】:

      【解决方案2】:
      curl --data @path/to/file https://host
      

      其中文件包含SAMLResponse=,后跟 Base64 编码,然后是 URL 编码的 SAML 响应 XML,例如

      SAMLResponse=PHNhbWxwOlJlc3B...snip...R0cmlidXRlU3RhdGVtZW50PgogIDwvc2FtbDpBc3NlcnRpb24%2BCjwvc2FtbHA6UmVzcG9uc2U%2B
      

      如果您不对 Base64 编码字符串进行 URL 编码,任何 + 字符都会导致 XML 被截断并解析失败。我在 Keycloak 日志中看到的错误类似于 Element type "Response" must be followed by either attribute specifications, ">" or "/>".

      【讨论】:

        猜你喜欢
        • 2014-09-20
        • 2015-04-10
        • 1970-01-01
        • 2015-01-03
        • 1970-01-01
        • 2017-07-27
        • 1970-01-01
        • 2015-05-19
        • 2018-12-11
        相关资源
        最近更新 更多