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);