【问题标题】:How To Get A <SAMLAssertion> from <SAMLResponse> With OpenSAML library?如何使用 OpenSAML 库从 <SAMLResponse> 获取 <SAMLAssertion>?
【发布时间】:2015-06-19 05:16:49
【问题描述】:

我正在寻找将读取 SAMLResponse 并检索 SAMLAssertion 以进一步发送的 java 代码。我发现 http://sureshatt.blogspot.in/2012/11/how-to-read-saml-20-response-with.html 这个链接读取 SAMLResponse,但不确定它是否真的只完成了我想要的检索 SAMLAssertion 的工作。

谁能给我java测试/示例java代码?

【问题讨论】:

    标签: saml-2.0 spring-saml opensaml


    【解决方案1】:

    您可以使用 Open SAML 库(OpenSAML-J 库提供了支持开发人员使用安全断言标记语言 (SAML) 的工具。) 下面的maven依赖供你参考。

    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>opensaml</artifactId>
        <version>2.6.4</version>
    </dependency>
    

    一旦您获得 SAMLResponse(这将是一个编码字符串),您可以使用 Open SAML 使用 Base64 解码器对其进行解码,一旦您解码,您需要分别解组响应和元素。完成后,您需要将类型转换为响应对象并从响应对象中获得断言。所以这个断言将包含 NameId、Issuer、Audience、Signature 等。

    //Casting the response to the SAML 2.0 Response message.
    Response response = (Response) responseXmlObj;
    

    我希望这是您的原始查询,并且我使用了您提供的链接中的相同代码并且它工作正常。

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 2022-12-03
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 2016-01-20
      • 1970-01-01
      相关资源
      最近更新 更多