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 2012/01/30 15:11:01 UTC

svn commit: r1237665 - in /incubator/amber/trunk/oauth-2.0: oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/ oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/ oauth2-integration-tests/src/test/java/org/apache/am...

Author: asanso
Date: Mon Jan 30 14:11:01 2012
New Revision: 1237665

URL: http://svn.apache.org/viewvc?rev=1237665&view=rev
Log:
AMBER-45 : Authorization Response needs to be updated to latest spec

Modified:
    incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/OAuthASResponse.java
    incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/OAuthASResponseTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-integration-tests/src/test/java/org/apache/amber/oauth2/integration/endpoints/AuthzEndpoint.java

Modified: incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/OAuthASResponse.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/OAuthASResponse.java?rev=1237665&r1=1237664&r2=1237665&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/OAuthASResponse.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/main/java/org/apache/amber/oauth2/as/response/OAuthASResponse.java Mon Jan 30 14:11:01 2012
@@ -22,6 +22,8 @@
 package org.apache.amber.oauth2.as.response;
 
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.amber.oauth2.common.OAuth;
 import org.apache.amber.oauth2.common.message.OAuthResponse;
 
@@ -36,8 +38,8 @@ public class OAuthASResponse extends OAu
         super(uri, responseStatus);
     }
 
-    public static OAuthAuthorizationResponseBuilder authorizationResponse(int code) {
-        return new OAuthAuthorizationResponseBuilder(code);
+    public static OAuthAuthorizationResponseBuilder authorizationResponse(HttpServletRequest request,int code) {
+        return new OAuthAuthorizationResponseBuilder(request,code);
     }
 
     public static OAuthTokenResponseBuilder tokenResponse(int code) {
@@ -46,11 +48,16 @@ public class OAuthASResponse extends OAu
 
     public static class OAuthAuthorizationResponseBuilder extends OAuthResponseBuilder {
 
-        public OAuthAuthorizationResponseBuilder(int responseCode) {
+        public OAuthAuthorizationResponseBuilder(HttpServletRequest request,int responseCode) {
             super(responseCode);
+            //AMBER-45
+            String state=request.getParameter(OAuth.OAUTH_STATE);
+            if (state!=null){
+            	this.setState(state);
+            }
         }
 
-        public OAuthAuthorizationResponseBuilder setState(String state) {
+        OAuthAuthorizationResponseBuilder setState(String state) {
             this.parameters.put(OAuth.OAUTH_STATE, state);
             return this;
         }

Modified: incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/OAuthASResponseTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/OAuthASResponseTest.java?rev=1237665&r1=1237664&r2=1237665&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/OAuthASResponseTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-authzserver/src/test/java/org/apache/amber/oauth2/as/response/OAuthASResponseTest.java Mon Jan 30 14:11:01 2012
@@ -21,6 +21,12 @@
 
 package org.apache.amber.oauth2.as.response;
 
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.amber.oauth2.common.OAuth;
 import org.apache.amber.oauth2.common.error.OAuthError;
 import org.apache.amber.oauth2.common.exception.OAuthProblemException;
@@ -37,7 +43,8 @@ public class OAuthASResponseTest {
 
     @Test
     public void testAuthzResponse() throws Exception {
-        OAuthResponse oAuthResponse = OAuthASResponse.authorizationResponse(200)
+    	HttpServletRequest request = createMock(HttpServletRequest.class);
+        OAuthResponse oAuthResponse = OAuthASResponse.authorizationResponse(request,200)
             .location("http://www.example.com")
             .setCode("code")
             .setAccessToken("access_111")
@@ -47,13 +54,35 @@ public class OAuthASResponseTest {
             .buildQueryMessage();
 
         String url = oAuthResponse.getLocationUri();
+         
+        Assert.assertEquals("http://www.example.com?testValue=value2&code=code"
+            + "#access_token=access_111&state=ok&expires_in=400", url);
+        Assert.assertEquals(200, oAuthResponse.getResponseStatus());
+
+    }
+    
+    @Test
+    public void testAuthzResponseWithState() throws Exception {
+    	HttpServletRequest request = createMock(HttpServletRequest.class);
+    	expect(request.getParameter(OAuth.OAUTH_STATE)).andStubReturn("ok");
+    	replay(request);
+        OAuthResponse oAuthResponse = OAuthASResponse.authorizationResponse(request,200)
+            .location("http://www.example.com")
+            .setCode("code")
+            .setAccessToken("access_111")
+            .setExpiresIn("400")
+            .setParam("testValue", "value2")
+            .buildQueryMessage();
 
+        String url = oAuthResponse.getLocationUri();
+ 
         Assert.assertEquals("http://www.example.com?testValue=value2&code=code"
             + "#access_token=access_111&state=ok&expires_in=400", url);
         Assert.assertEquals(200, oAuthResponse.getResponseStatus());
 
     }
 
+
     @Test
     public void testTokenResponse() throws Exception {
 
@@ -125,7 +154,8 @@ public class OAuthASResponseTest {
 
     @Test
     public void testHeaderResponse() throws Exception {
-        OAuthResponse oAuthResponse = OAuthASResponse.authorizationResponse(400).setCode("oauth_code")
+    	HttpServletRequest request = createMock(HttpServletRequest.class);
+        OAuthResponse oAuthResponse = OAuthASResponse.authorizationResponse(request,400).setCode("oauth_code")
             .setState("state_ok")
             .buildHeaderMessage();
 

Modified: incubator/amber/trunk/oauth-2.0/oauth2-integration-tests/src/test/java/org/apache/amber/oauth2/integration/endpoints/AuthzEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-integration-tests/src/test/java/org/apache/amber/oauth2/integration/endpoints/AuthzEndpoint.java?rev=1237665&r1=1237664&r2=1237665&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-integration-tests/src/test/java/org/apache/amber/oauth2/integration/endpoints/AuthzEndpoint.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-integration-tests/src/test/java/org/apache/amber/oauth2/integration/endpoints/AuthzEndpoint.java Mon Jan 30 14:11:01 2012
@@ -66,7 +66,7 @@ public class AuthzEndpoint {
             String responseType = oauthRequest.getParam(OAuth.OAUTH_RESPONSE_TYPE);
 
             OAuthASResponse.OAuthAuthorizationResponseBuilder builder = OAuthASResponse
-                .authorizationResponse(HttpServletResponse.SC_FOUND);
+                .authorizationResponse(request,HttpServletResponse.SC_FOUND);
 
             if (responseType.equals(ResponseType.CODE.toString())) {
                 builder.setCode(oauthIssuerImpl.authorizationCode());