2011-05-12 115 views

回答

0

以下是將要使用的主要類。

斷言
簽名
SubjectConfirmationData
填充NameID
主題
條件
觀衆
AuthnContextClassRef
AuthnStatement

看到這對openSAML庫link

+0

如何獲得從SAMLResponse SAMLAssertion字符串?我已經使用Base64進行了轉換,但使用{「error」:「invalid_grant」,「error_description」:「提供的授權授予無效。」},沒有具體的錯誤消息/wso2is-5.0.0/repository/logs/wso2carbon .log文件,請幫我解決 – 2015-04-13 11:27:17

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庫直接打交道,那麼值得研究一下。

感謝, 約傑什

+0

如何從SAMLResponse獲取SAMLAssertion字符串?我已經使用Base64進行了轉換,但使用{「error」:「invalid_grant」,「error_description」:「提供的授權授予無效。」},沒有具體的錯誤消息/wso2is-5.0.0/repository/logs/wso2carbon .log文件,請幫助我 – 2015-04-13 11:27:03