This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 56d7f84  CXF-7588 - SAML audience restriction validation is enabled by 
default for REST services
56d7f84 is described below

commit 56d7f84e8a344a736e16435a312c82cc366fb28f
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Tue Dec 12 16:33:49 2017 +0000

    CXF-7588 - SAML audience restriction validation is enabled by default for 
REST services
---
 .../java/org/apache/cxf/rs/security/saml/AbstractSamlInHandler.java  | 2 +-
 .../main/java/org/apache/cxf/rt/security/saml/utils/SAMLUtils.java   | 5 +++--
 .../src/main/java/org/apache/cxf/rt/security/SecurityConstants.java  | 2 +-
 .../java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java    | 2 +-
 .../org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java     | 2 +-
 5 files changed, 7 insertions(+), 6 deletions(-)

diff --git 
a/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/saml/AbstractSamlInHandler.java
 
b/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/saml/AbstractSamlInHandler.java
index c71257b..d3d55b1 100644
--- 
a/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/saml/AbstractSamlInHandler.java
+++ 
b/rt/rs/security/xml/src/main/java/org/apache/cxf/rs/security/saml/AbstractSamlInHandler.java
@@ -193,7 +193,7 @@ public abstract class AbstractSamlInHandler implements 
ContainerRequestFilter {
     }
 
     protected void configureAudienceRestriction(Message msg, RequestData 
reqData) {
-        
reqData.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg));
+        reqData.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg, 
false));
     }
 
     protected SAMLKeyInfo createKeyInfoFromDefaultAlias(Crypto sigCrypto) 
throws WSSecurityException {
diff --git 
a/rt/security-saml/src/main/java/org/apache/cxf/rt/security/saml/utils/SAMLUtils.java
 
b/rt/security-saml/src/main/java/org/apache/cxf/rt/security/saml/utils/SAMLUtils.java
index a63a24d..cc27b05 100644
--- 
a/rt/security-saml/src/main/java/org/apache/cxf/rt/security/saml/utils/SAMLUtils.java
+++ 
b/rt/security-saml/src/main/java/org/apache/cxf/rt/security/saml/utils/SAMLUtils.java
@@ -143,10 +143,11 @@ public final class SAMLUtils {
         return ((SamlAssertionWrapper)assertion).getElement();
     }
 
-    public static List<String> getAudienceRestrictions(Message msg) {
+    public static List<String> getAudienceRestrictions(Message msg, boolean 
enableByDefault) {
         // Add Audience Restrictions for SAML
         boolean enableAudienceRestriction =
-            
SecurityUtils.getSecurityPropertyBoolean(SecurityConstants.AUDIENCE_RESTRICTION_VALIDATION,
 msg, true);
+            
SecurityUtils.getSecurityPropertyBoolean(SecurityConstants.AUDIENCE_RESTRICTION_VALIDATION,
+                                                     msg, enableByDefault);
         if (enableAudienceRestriction) {
             List<String> audiences = new ArrayList<>();
             // See if we have custom audience restriction values specified 
first
diff --git 
a/rt/security/src/main/java/org/apache/cxf/rt/security/SecurityConstants.java 
b/rt/security/src/main/java/org/apache/cxf/rt/security/SecurityConstants.java
index 1982009..3cc5342 100644
--- 
a/rt/security/src/main/java/org/apache/cxf/rt/security/SecurityConstants.java
+++ 
b/rt/security/src/main/java/org/apache/cxf/rt/security/SecurityConstants.java
@@ -181,7 +181,7 @@ public class SecurityConstants {
     /**
      * Enable SAML AudienceRestriction validation. If this is set to "true", 
then IF the
      * SAML Token contains Audience Restriction URIs, one of them must match 
one of the values of the
-     * AUDIENCE_RESTRICTIONS property. The default is "true".
+     * AUDIENCE_RESTRICTIONS property. The default is "true" for SOAP 
services, "false" for REST services.
      */
     public static final String AUDIENCE_RESTRICTION_VALIDATION = 
"security.validate.audience-restriction";
 
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
index f1ef9da..a3c9850 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
@@ -204,7 +204,7 @@ public class WSS4JInInterceptor extends 
AbstractWSS4JInterceptor {
         reqData.setEncryptionSerializer(new StaxSerializer());
 
         // Add Audience Restrictions for SAML
-        
reqData.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg));
+        reqData.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg, 
true));
 
         SOAPMessage doc = getSOAPMessage(msg);
 
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
index 4ecd1ed..11dd3b1 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
@@ -276,7 +276,7 @@ public class WSS4JStaxInInterceptor extends 
AbstractWSS4JStaxInterceptor {
         }
 
         // Add Audience Restrictions for SAML
-        
securityProperties.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg));
+        
securityProperties.setAudienceRestrictions(SAMLUtils.getAudienceRestrictions(msg,
 true));
     }
 
     /**

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to