【问题标题】:How To Get A <SAMLAssertion> from <SAMLResponse> With OpenSAML library?如何使用 OpenSAML 库从 <SAMLResponse> 获取 <SAMLAssertion>?
【发布时间】:2015-06-19 05:16:49
【问题描述】:
【问题讨论】:
标签:
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;
我希望这是您的原始查询,并且我使用了您提供的链接中的相同代码并且它工作正常。