You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oltu.apache.org by as...@apache.org on 2013/01/14 13:25:54 UTC

svn commit: r1432899 - in /incubator/amber/trunk/oauth-2.0: client/src/main/java/org/apache/amber/oauth2/client/request/ common/src/main/java/org/apache/amber/oauth2/common/utils/ common/src/test/java/org/apache/amber/oauth2/common/utils/

Author: asanso
Date: Mon Jan 14 12:25:53 2013
New Revision: 1432899

URL: http://svn.apache.org/viewvc?rev=1432899&view=rev
Log:
AMBER-69 - Client code generates wrong header for Bearer Token 

Modified:
    incubator/amber/trunk/oauth-2.0/client/src/main/java/org/apache/amber/oauth2/client/request/ClientHeaderParametersApplier.java
    incubator/amber/trunk/oauth-2.0/common/src/main/java/org/apache/amber/oauth2/common/utils/OAuthUtils.java
    incubator/amber/trunk/oauth-2.0/common/src/test/java/org/apache/amber/oauth2/common/utils/OAuthUtilsTest.java

Modified: incubator/amber/trunk/oauth-2.0/client/src/main/java/org/apache/amber/oauth2/client/request/ClientHeaderParametersApplier.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/client/src/main/java/org/apache/amber/oauth2/client/request/ClientHeaderParametersApplier.java?rev=1432899&r1=1432898&r2=1432899&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/client/src/main/java/org/apache/amber/oauth2/client/request/ClientHeaderParametersApplier.java (original)
+++ incubator/amber/trunk/oauth-2.0/client/src/main/java/org/apache/amber/oauth2/client/request/ClientHeaderParametersApplier.java Mon Jan 14 12:25:53 2013
@@ -39,7 +39,7 @@ public class ClientHeaderParametersAppli
     public OAuthMessage applyOAuthParameters(OAuthMessage message, Map<String, Object> params)
         throws OAuthSystemException {
 
-        String header = OAuthUtils.encodeOAuthHeader(params);
+        String header = OAuthUtils.encodeAuthorizationBearerHeader(params);
         message.addHeader(OAuth.HeaderType.AUTHORIZATION, header);
         return message;
 

Modified: incubator/amber/trunk/oauth-2.0/common/src/main/java/org/apache/amber/oauth2/common/utils/OAuthUtils.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/common/src/main/java/org/apache/amber/oauth2/common/utils/OAuthUtils.java?rev=1432899&r1=1432898&r2=1432899&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/common/src/main/java/org/apache/amber/oauth2/common/utils/OAuthUtils.java (original)
+++ incubator/amber/trunk/oauth-2.0/common/src/main/java/org/apache/amber/oauth2/common/utils/OAuthUtils.java Mon Jan 14 12:25:53 2013
@@ -364,7 +364,7 @@ public final class OAuthUtils {
     // todo: implement method to decode header form (with no challenge)
 
     /**
-     * Construct a WWW-Authenticate or Authorization header with the OAuth challenge/credentials
+     * Construct a WWW-Authenticate header
      */
     public static String encodeOAuthHeader(Map<String, Object> entries) {
         StringBuffer sb = new StringBuffer();
@@ -381,6 +381,22 @@ public final class OAuthUtils {
 
         return sb.substring(0, sb.length() - 1);
     }
+    
+    /**
+     * Construct an Authorization Bearer header
+     */
+    public static String encodeAuthorizationBearerHeader(Map<String, Object> entries) {
+        StringBuffer sb = new StringBuffer();
+        sb.append(OAuth.OAUTH_HEADER_NAME).append(" ");
+        for (Map.Entry<String, Object> entry : entries.entrySet()) {
+            String value = entry.getValue() == null? null: String.valueOf(entry.getValue());
+            if (!OAuthUtils.isEmpty(entry.getKey()) && !OAuthUtils.isEmpty(value)) {
+                sb.append(value);
+            }
+        }
+
+        return sb.toString();
+    }
 
     public static boolean isEmpty(String value) {
         return value == null || "".equals(value);

Modified: incubator/amber/trunk/oauth-2.0/common/src/test/java/org/apache/amber/oauth2/common/utils/OAuthUtilsTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/common/src/test/java/org/apache/amber/oauth2/common/utils/OAuthUtilsTest.java?rev=1432899&r1=1432898&r2=1432899&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/common/src/test/java/org/apache/amber/oauth2/common/utils/OAuthUtilsTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/common/src/test/java/org/apache/amber/oauth2/common/utils/OAuthUtilsTest.java Mon Jan 14 12:25:53 2013
@@ -123,6 +123,23 @@ public class OAuthUtilsTest {
 
     @Test
     public void testEncodeOAuthHeader() throws Exception {
+    	Map<String, Object> parameters = new HashMap<String, Object>();
+    	parameters.put("realm", "example");
+    	
+    	///rfc6750#section-3
+    	String header = OAuthUtils.encodeOAuthHeader(parameters);
+        Assert.assertEquals("Bearer realm=\"example\"", header);
+
+    }
+    
+    @Test
+    public void testEncodeAuthorizationBearerHeader() throws Exception {
+    	Map<String, Object> parameters = new HashMap<String, Object>();
+    	parameters.put("accessToken", "mF_9.B5f-4.1JqM");
+    	
+    	//rfc6749#section-7.1
+    	String header = OAuthUtils.encodeAuthorizationBearerHeader(parameters);
+        Assert.assertEquals("Bearer mF_9.B5f-4.1JqM", header);
 
     }