如何在Spring SAML中显示断言的原始内容(DOM)?

时间:2016-02-24 16:23:47

标签: saml spring-saml

对于我的项目,我需要向用户显示SAML响应的加密和解密版本。

目前,Spring SAML示例应用程序显示加密(即原始)SAML响应,但我不确定如何在解密所有元素(NameID,断言和其他元素)时显示相同的响应。

我知道Spring SAML示例应用程序以表格格式显示断言,但是我需要显示整个解密的'包含所有标记和属性的XML SAML响应。

注意我正在使用SP部分,并且IDP配置为发送带有加密属性和NameID的加密SAML响应。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Part 9.5 of the manual可以帮到你。

  

9.5身份验证断言

     

用于对用户进行身份验证的断言存储在SAMLCredential中   属性authenticationAssertion下的对象。默认为原始版本   断言的内容(DOM)被丢弃,系统只保留一个   unmarshalled版本,可能与原版略有不同,   例如在白色空间。为了指示Spring SAML保持   断言以原始形式(保持其DOM)设置属性releaseDOM   在bean WebSSOProfileConsumerImpl上为false。

     

可以使用以下调用将断言序列化为String:

     

XMLHelper.nodeToString(SAMLUtil.marshallMessage(credential.getAuthenticationAssertion()))