You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/06/27 10:57:06 UTC

svn commit: r1497251 - in /cxf/branches/2.6.x-fixes: ./ rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/ rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/ rt/rs/securi...

Author: sergeyb
Date: Thu Jun 27 08:57:05 2013
New Revision: 1497251

URL: http://svn.apache.org/r1497251
Log:
Merged revisions 1496504 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

................
  r1496504 | sergeyb | 2013-06-25 15:54:45 +0100 (Tue, 25 Jun 2013) | 9 lines
  
  Merged revisions 1495553 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1495553 | sergeyb | 2013-06-21 20:26:11 +0100 (Fri, 21 Jun 2013) | 1 line
    
    Support for a realm parameter in OAuth2 filter
  ........
................

Modified:
    cxf/branches/2.6.x-fixes/   (props changed)
    cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java
    cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/AbstractAccessTokenValidator.java
    cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/AuthorizationUtils.java

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/branches/2.7.x-fixes:r1496504
  Merged /cxf/trunk:r1495553

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java?rev=1497251&r1=1497250&r2=1497251&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java Thu Jun 27 08:57:05 2013
@@ -169,7 +169,9 @@ public final class OAuthClientUtils {
                 accessTokenService.header("Authorization", sb.toString());
             } else {
                 form.set(OAuthConstants.CLIENT_ID, consumer.getKey());
-                form.set(OAuthConstants.CLIENT_SECRET, consumer.getSecret());
+                if (consumer.getSecret() != null) {
+                    form.set(OAuthConstants.CLIENT_SECRET, consumer.getSecret());
+                } 
             }
         } else {
             // in this case the AccessToken service is expected to find a mapping between

Modified: cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/AbstractAccessTokenValidator.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/AbstractAccessTokenValidator.java?rev=1497251&r1=1497250&r2=1497251&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/AbstractAccessTokenValidator.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/services/AbstractAccessTokenValidator.java Thu Jun 27 08:57:05 2013
@@ -46,6 +46,7 @@ public abstract class AbstractAccessToke
     private List<AccessTokenValidator> tokenHandlers = Collections.emptyList();
     private Set<String> supportedSchemes = new HashSet<String>();
     private OAuthDataProvider dataProvider;
+    private String realm;
     
     public void setTokenValidator(AccessTokenValidator validator) {
         setTokenValidators(Collections.singletonList(validator));
@@ -106,7 +107,7 @@ public abstract class AbstractAccessToke
                 accessTokenV = handler.validateAccessToken(mc, authScheme, authSchemeData);
             } catch (OAuthServiceException ex) {
                 AuthorizationUtils.throwAuthorizationFailure(
-                    Collections.singleton(authScheme));
+                    Collections.singleton(authScheme), realm);
             }
         }
         // Default processing if no registered providers available
@@ -119,22 +120,26 @@ public abstract class AbstractAccessToke
             }
             if (localAccessToken == null) {
                 AuthorizationUtils.throwAuthorizationFailure(
-                    Collections.singleton(authScheme));
+                    Collections.singleton(authScheme), realm);
             }
             accessTokenV = new AccessTokenValidation(localAccessToken);
         }
         if (accessTokenV == null) {
-            AuthorizationUtils.throwAuthorizationFailure(supportedSchemes);
+            AuthorizationUtils.throwAuthorizationFailure(supportedSchemes, realm);
         }
         // Check if token is still valid
         if (OAuthUtils.isExpired(accessTokenV.getTokenIssuedAt(), accessTokenV.getTokenLifetime())) {
             if (localAccessToken != null) {
                 dataProvider.removeAccessToken(localAccessToken);
             }
-            AuthorizationUtils.throwAuthorizationFailure(supportedSchemes);
+            AuthorizationUtils.throwAuthorizationFailure(supportedSchemes, realm);
         }
         return accessTokenV;
     }
+
+    public void setRealm(String realm) {
+        this.realm = realm;
+    }
     
     
 }

Modified: cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/AuthorizationUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/AuthorizationUtils.java?rev=1497251&r1=1497250&r2=1497251&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/AuthorizationUtils.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/utils/AuthorizationUtils.java Thu Jun 27 08:57:05 2013
@@ -70,6 +70,10 @@ public final class AuthorizationUtils {
     }
     
     public static void throwAuthorizationFailure(Set<String> challenges) {
+        throwAuthorizationFailure(challenges, null);
+    }
+    
+    public static void throwAuthorizationFailure(Set<String> challenges, String realm) {
         ResponseBuilder rb = Response.status(401);
         
         StringBuilder sb = new StringBuilder();
@@ -83,6 +87,9 @@ public final class AuthorizationUtils {
             sb.append(challenge);
         }
         if (sb.length() > 0) {
+            if (realm != null) {
+                sb.append(" realm=\"" + realm + "\"");
+            }
             rb.header(HttpHeaders.WWW_AUTHENTICATE, sb.toString());
         }
         Response r = rb.build();