cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cohei...@apache.org
Subject svn commit: r1347560 - in /cxf/trunk: rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
Date Thu, 07 Jun 2012 10:32:00 GMT
Author: coheigea
Date: Thu Jun  7 10:32:00 2012
New Revision: 1347560

URL: http://svn.apache.org/viewvc?rev=1347560&view=rev
Log:
Adding a "sendRenewing" property to the STSClient

Modified:
    cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
    cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java

Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java?rev=1347560&r1=1347559&r2=1347560&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
(original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
Thu Jun  7 10:32:00 2012
@@ -165,6 +165,7 @@ public class STSClient implements Config
     protected boolean isSpnego;
     protected boolean enableLifetime;
     protected int ttl = 300;
+    protected boolean sendRenewing = true;
     protected boolean allowRenewing = true;
     protected boolean allowRenewingAfterExpiry;
     
@@ -215,6 +216,10 @@ public class STSClient implements Config
         this.enableLifetime = enableLifetime;
     }
     
+    public void setSendRenewing(boolean sendRenewing) {
+        this.sendRenewing = sendRenewing;
+    }
+    
     /**
      * Sets the WS-P policy that is applied to communications between this client and the
remote server
      * if no value is supplied for {@link #setWsdlLocation(String)}.
@@ -720,14 +725,16 @@ public class STSClient implements Config
         }
         
         // Write out renewal semantics
-        writer.writeStartElement("wst", "Renewing", namespace);
-        if (!allowRenewing) {
-            writer.writeAttribute(null, "Allow", "false");
-        }
-        if (allowRenewing && allowRenewingAfterExpiry) {
-            writer.writeAttribute(null, "OK", "true");
+        if (sendRenewing) {
+            writer.writeStartElement("wst", "Renewing", namespace);
+            if (!allowRenewing) {
+                writer.writeAttribute(null, "Allow", "false");
+            }
+            if (allowRenewing && allowRenewingAfterExpiry) {
+                writer.writeAttribute(null, "OK", "true");
+            }
+            writer.writeEndElement();
         }
-        writer.writeEndElement();
         
         writer.writeEndElement();
 

Modified: cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java?rev=1347560&r1=1347559&r2=1347560&view=diff
==============================================================================
--- cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
(original)
+++ cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
Thu Jun  7 10:32:00 2012
@@ -223,10 +223,47 @@ public class SAMLRenewUnitTest extends A
         bus.shutdown(true);
     }
     
+    @org.junit.Test
+    public void testRenewDisabled() throws Exception {
+        SpringBusFactory bf = new SpringBusFactory();
+        URL busFile = SAMLRenewUnitTest.class.getResource("cxf-client-unit.xml");
+
+        Bus bus = bf.createBus(busFile.toString());
+        SpringBusFactory.setDefaultBus(bus);
+        SpringBusFactory.setThreadDefaultBus(bus);
+        
+        String wsdlLocation = 
+            "https://localhost:" + STSPORT + "/SecurityTokenService/Transport?wsdl";
+        
+        // Request the token
+        SecurityToken token = 
+            requestSecurityToken(bus, wsdlLocation, WSConstants.WSS_SAML_TOKEN_TYPE, 300,
false, false);
+        assertNotNull(token);
+        
+        // Validate the token
+        List<SecurityToken> validatedTokens = validateSecurityToken(bus, wsdlLocation,
token);
+        assertFalse(validatedTokens.isEmpty());
+        assertTrue(validatedTokens.get(0).equals(token));
+
+        // Renew the token
+        SecurityToken renewedToken = renewSecurityToken(bus, wsdlLocation, token, false);
+        assertFalse(token.equals(renewedToken));
+        
+        // Validate the renewed token
+        validateSecurityToken(bus, wsdlLocation, renewedToken);
+
+        bus.shutdown(true);
+    }
     
     private SecurityToken requestSecurityToken(
         Bus bus, String wsdlLocation, String tokenType, int ttl, boolean allowExpired
     ) throws Exception {
+        return requestSecurityToken(bus, wsdlLocation, tokenType, ttl, allowExpired, true);
+    }
+    
+    private SecurityToken requestSecurityToken(
+        Bus bus, String wsdlLocation, String tokenType, int ttl, boolean allowExpired, boolean
sendRenewing
+    ) throws Exception {
         STSClient stsClient = new STSClient(bus);
         stsClient.setWsdlLocation(wsdlLocation);
         stsClient.setServiceName("{http://docs.oasis-open.org/ws-sx/ws-trust/200512/}SecurityTokenService");
@@ -250,6 +287,7 @@ public class SAMLRenewUnitTest extends A
         stsClient.setRequiresEntropy(true);
         stsClient.setKeySize(128);
         stsClient.setAddressingNamespace("http://www.w3.org/2005/08/addressing");
+        stsClient.setSendRenewing(sendRenewing);
 
         return stsClient.requestSecurityToken("https://localhost:8081/doubleit/services/doubleittransport");
     }



Mime
View raw message