【问题标题】:How to send my SAML 2.0 response to verify the communication to the Service Provider?如何发送我的 SAML 2.0 响应以验证与服务提供商的通信?
【发布时间】:2021-10-17 08:28:34
【问题描述】:

用例
在我的用例中,我必须执行 IdP 发起的 SSO,因此我不需要身份验证请求。我只需要在我的 IdP Java 应用程序中创建一个 SAML 响应,以发送给已配置的服务提供商以接受 POST 请求。

假设我有一个使用 OpenSaml (IdP) 的 Java 应用程序,它创建了一个包含签名断言的 saml 响应。我还配置了一个服务提供商来接收我的 saml 响应。

如何将我的 saml 响应发送给服务提供商,以验证我的响应是否正确写入,从而验证 IdP 和 SP 之间的通信是否正常?

我想通过 POST 在 Java 中执行此操作,但我不知道是否可以不使用浏览器。这个想法只是检查 SAML 响应是否正确写入并显示 POST 请求的响应。

【问题讨论】:

    标签: java saml opensaml service-provider idp


    【解决方案1】:

    您当然可以使用来自 Java 的 POST 测试您的 SAML 配置,但您也可以使用 Postman 或 cUrl 等工具。

    POST 如下所示:

    POST /SAML2/SSO/POST HTTP/1.1 
    Host: sp.example.com 
    Content-Type: application/x-www-form-urlencoded 
    Content-Length: nnn 
    SAMLResponse=response&RelayState=token
    

    确保 SAMLResponseRelayState(如果有)是 url 编码的。

    您可能还想看这里:http://saml.xml.org/wiki/idp-initiated-single-sign-on-post-binding

    【讨论】:

    • 我使用 Insomnia 发送我的发帖请求,并且能够检查不同的交互。我使用的另一种方法是将我的断言复制并粘贴到一个简单的 POST 表单中,然后从带有 Chrome 或 Firefox 上可用的 SAML 扩展的浏览器手动发送,以更好地分析 SAML 交换。
    猜你喜欢
    • 2021-07-15
    • 2015-05-16
    • 1970-01-01
    • 2011-01-03
    • 2022-11-30
    • 2013-05-12
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多