You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/08/01 20:23:41 UTC

svn commit: r1368159 - in /cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security: policy/interceptors/ trust/

Author: dkulp
Date: Wed Aug  1 18:23:41 2012
New Revision: 1368159

URL: http://svn.apache.org/viewvc?rev=1368159&view=rev
Log:
Merged revisions 1368154 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1368154 | dkulp | 2012-08-01 14:18:14 -0400 (Wed, 01 Aug 2012) | 3 lines

  If creating the STS endpoint for SecConv, adjust some of the names and
  actions and such to match the SecConv spec

........

Modified:
    cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java
    cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java
    cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java
    cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java

Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java?rev=1368159&r1=1368158&r2=1368159&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java Wed Aug  1 18:23:41 2012
@@ -190,7 +190,8 @@ final class NegotiationUtils {
         SoapMessage message, 
         String namespace, 
         Policy policy,
-        Invoker invoker
+        Invoker invoker,
+        boolean secConv
     ) {
         Exchange ex = message.getExchange();
         Bus bus = ex.getBus();
@@ -203,13 +204,22 @@ final class NegotiationUtils {
             Endpoint endpoint = message.getExchange().getEndpoint();
 
             TokenStore store = getTokenStore(message);
-            endpoint = STSUtils.createSTSEndpoint(bus, 
-                    namespace,
-                    endpoint.getEndpointInfo().getTransportId(),
-                    destination.getAddress().getAddress().getValue(),
-                    message.getVersion().getBindingId(), 
-                    policy,
-                    null);
+            if (secConv) {
+                endpoint = STSUtils.createSCEndpoint(bus, 
+                                                     namespace,
+                                                     endpoint.getEndpointInfo().getTransportId(),
+                                                     destination.getAddress().getAddress().getValue(),
+                                                     message.getVersion().getBindingId(), 
+                                                     policy);
+            } else {
+                endpoint = STSUtils.createSTSEndpoint(bus, 
+                                                      namespace,
+                                                      endpoint.getEndpointInfo().getTransportId(),
+                                                      destination.getAddress().getAddress().getValue(),
+                                                      message.getVersion().getBindingId(), 
+                                                      policy,
+                                                      null);
+            } 
             endpoint.getEndpointInfo().setProperty(TokenStore.class.getName(), store);
             message.getExchange().put(TokenStore.class.getName(), store);
 

Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java?rev=1368159&r1=1368158&r2=1368159&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java Wed Aug  1 18:23:41 2012
@@ -180,7 +180,9 @@ class SecureConversationInInterceptor ex
                 if (s.startsWith(STSUtils.WST_NS_05_02)) {
                     ns = STSUtils.WST_NS_05_02;
                 }
-                NegotiationUtils.recalcEffectivePolicy(message, ns, pol, new SecureConversationSTSInvoker());
+                NegotiationUtils.recalcEffectivePolicy(message, ns, pol, 
+                                                       new SecureConversationSTSInvoker(),
+                                                       true);
             } else {
                 message.getInterceptorChain().add(SecureConversationTokenFinderInterceptor.INSTANCE);
             }

Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java?rev=1368159&r1=1368158&r2=1368159&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java Wed Aug  1 18:23:41 2012
@@ -108,7 +108,7 @@ class SpnegoContextTokenInInterceptor ex
                 if (s.startsWith(STSUtils.WST_NS_05_02)) {
                     ns = STSUtils.WST_NS_05_02;
                 }
-                NegotiationUtils.recalcEffectivePolicy(message, ns, p, new SpnegoSTSInvoker());
+                NegotiationUtils.recalcEffectivePolicy(message, ns, p, new SpnegoSTSInvoker(), false);
             } else {
                 message.getInterceptorChain().add(SpnegoContextTokenFinderInterceptor.INSTANCE);
             }

Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java?rev=1368159&r1=1368158&r2=1368159&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java (original)
+++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java Wed Aug  1 18:23:41 2012
@@ -119,7 +119,6 @@ public final class STSUtils {
         }
         return client;
     }
-    
     public static Endpoint createSTSEndpoint(Bus bus, 
                                              String namespace,
                                              String transportId,
@@ -127,11 +126,34 @@ public final class STSUtils {
                                              String soapVersion,
                                              Policy policy,
                                              QName epName) throws BusException, EndpointException {
+        return createSTSEndpoint(bus, namespace, transportId, location, soapVersion, policy, epName, false);
+    }     
+    public static Endpoint createSCEndpoint(Bus bus, 
+                                             String namespace,
+                                             String transportId,
+                                             String location,
+                                             String soapVersion,
+                                             Policy policy) throws BusException, EndpointException {
+        return createSTSEndpoint(bus, namespace, transportId, location, soapVersion, policy, null, true);
+    }     
+    
+    
+    //CHECKSTYLE:OFF
+    private static Endpoint createSTSEndpoint(Bus bus, 
+                                             String namespace,
+                                             String transportId,
+                                             String location,
+                                             String soapVersion,
+                                             Policy policy,
+                                             QName epName,
+                                             boolean sc) throws BusException, EndpointException {
+        //CHECKSTYLE:ON
+
         Service service = null;
         String ns = namespace + "/wsdl";
         ServiceInfo si = new ServiceInfo();
         
-        QName iName = new QName(ns, "SecurityTokenService");
+        QName iName = new QName(ns, sc ? "SecureConversationTokenService" : "SecurityTokenService");
         si.setName(iName);
         InterfaceInfo ii = new InterfaceInfo(si, iName);
         
@@ -166,7 +188,7 @@ public final class STSUtils {
             soi = new SoapOperationInfo();
             boi.addExtensor(soi);
         }
-        soi.setAction(namespace + "/RST/Issue");
+        soi.setAction(namespace + (sc ? "/RST/SCT" : "/RST/Issue"));
         
         boi = bi.getOperation(coi);
         soi = boi.getExtensor(SoapOperationInfo.class);