在java中生成SAML响应/断言

时间:2011-05-12 12:54:50

标签: java saml assertion

我正在开发idp-initated身份验证。我想生成SAML响应以发送到SalesForce。我在元数据的响应中设置了必要的值。请告诉我使用openSAML类来生成响应/断言。

2 个答案:

答案 0 :(得分:0)

以下是将要使用的主要类。

断言
签名
SubjectConfirmationData

填充NameID 主题
条件
观众
AuthnContextClassRef
AuthnStatement

请参阅openSAML库link

答案 1 :(得分:0)

如果您正在寻找创建SAML断言并想要一些方便的方法来帮助您处理OpenSAML库,您可以查看WSS4J的SAML2ComponentBuilder。这在Apache CXF和其他Java服务堆栈中广泛使用。

创建断言就像以下一样简单:

        //Create assertion
    Assertion assertion = SAML2ComponentBuilder.createAssertion();

    //create issuer
    Issuer issuer = SAML2ComponentBuilder.createIssuer(issuerString);
    assertion.setIssuer(issuer);

你显然可以设置上面描述的所有值,并且提供了一个'AssertionWrapper',可以帮助对断言进行数字签名:

assertionWrapper.signAssertion(别名,密码,signatureCrypto,false,defaultCanonicalizationAlgorithm,defaultRSASignatureAlgorithm);

如果您难以直接处理OpenSAML库,那么值得研究。

谢谢, 约杰什