簡體   English   中英

基於SAML版本的cxf DefaultSecurityTokenServiceProvider響應

[英]cxf DefaultSecurityTokenServiceProvider response based on SAML version

我剛與CXF STS合作,遇到以下要求,因此無法繼續進行

1 CXF STS的DefaultSecurityTokenServiceProvider如何提供不同的SAML斷言,例如1.1或2.0。 我對此有一個假設。如果有誤,請糾正我。 DefaultSecurityTokenServiceProvider:services的bean屬性

<property name="services" ref="myServiceList" />
<bean id="myServiceList" class="org.apache.cxf.sts.service.StaticService">
    <property name="endpoints" ref="wspAllowedEndpoints" />
</bean>
<util:list id="wspAllowedEndpoints">
    <value>http://localhost:8080/doubleit/services/doubleit.*</value>
</util:list>

它為所有允許的服務請求wsdl,讀取策略元素,

<sp:RequestSecurityTokenTemplate>
                          <t:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</t:TokenType>
                          <t:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey</t:KeyType>
                          <t:KeySize>256</t:KeySize>
                       </sp:RequestSecurityTokenTemplate>

基於SAMLV1.1或SAMLV2.0的ans,它確定要發送哪個版本的SAML斷言作為響應

2如何從org.apache.cxf.ws.security.trust.STSClient以文本形式讀取SAML斷言

**saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0" ID="s2b7afe8e21a0910d027dfbc94ec4b862e1fbbd9ab" IssueInstant="2007-12-10T11:39:48Z"**

所以我可以將它們放在標頭中並以SOAPUI作為客戶端使用?

默認情況下,STS會根據發送的TokenType發行SAML 1.1或2.0令牌。 因此,要同時支持1.1 + 2.0,就STS配置而言無需采取任何措施。

STSClient將返回一個SecurityToken對象。 您可以通過stsClient.getToken()獲取返回的令牌的DOM表示形式。 然后,您可以使用WSS4J的DOM2Writer.nodeToString(node)之類的東西轉換為String。

科爾姆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM