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