You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bu...@apache.org on 2019/06/12 16:18:23 UTC
[cxf] branch master updated: Avoid duplicate query parameters at
OAuthClientUtils#getAuthorizationURI
This is an automated email from the ASF dual-hosted git repository.
buhhunyx 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 4446d78 Avoid duplicate query parameters at OAuthClientUtils#getAuthorizationURI
4446d78 is described below
commit 4446d78a3977210305cf98d90d72b92b636abf90
Author: Alexey Markevich <bu...@gmail.com>
AuthorDate: Tue Jun 11 15:32:35 2019 +0300
Avoid duplicate query parameters at OAuthClientUtils#getAuthorizationURI
---
.../security/oauth2/client/OAuthClientUtils.java | 6 ------
.../oauth2/client/OAuthClientUtilsTest.java | 24 ++++++++++++++++++++++
2 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java
index 850f1a8..81b92f0 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtils.java
@@ -73,12 +73,6 @@ public final class OAuthClientUtils {
redirectUri,
state,
scope);
- if (redirectUri != null) {
- ub.queryParam(OAuthConstants.REDIRECT_URI, redirectUri);
- }
- if (state != null) {
- ub.queryParam(OAuthConstants.STATE, state);
- }
return ub.build();
}
diff --git a/rt/rs/security/oauth-parent/oauth2/src/test/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtilsTest.java b/rt/rs/security/oauth-parent/oauth2/src/test/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtilsTest.java
index c0622bb..a35ae24 100644
--- a/rt/rs/security/oauth-parent/oauth2/src/test/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtilsTest.java
+++ b/rt/rs/security/oauth-parent/oauth2/src/test/java/org/apache/cxf/rs/security/oauth2/client/OAuthClientUtilsTest.java
@@ -19,8 +19,11 @@
package org.apache.cxf.rs.security.oauth2.client;
import java.io.ByteArrayInputStream;
+import java.net.URI;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import java.util.stream.Collectors;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.MediaType;
@@ -40,6 +43,7 @@ import static org.easymock.EasyMock.mock;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class OAuthClientUtilsTest {
@@ -97,4 +101,24 @@ public class OAuthClientUtilsTest {
assertEquals(Long.parseLong(expiresIn), token.getExpiresIn());
}
+ @Test
+ public void getAuthorizationURI() {
+ String authorizationServiceURI = "https://authorization";
+ String clientId = "clientId";
+ String redirectUri = "https://redirect";
+ String state = "unique";
+ String scope = OAuthConstants.REFRESH_TOKEN_SCOPE;
+
+ URI uri = OAuthClientUtils.getAuthorizationURI(authorizationServiceURI, clientId, redirectUri, state, scope);
+
+ assertTrue(uri.toString().startsWith(authorizationServiceURI));
+
+ Map<String, String> query = Arrays.asList(uri.getQuery().split("&")).stream().map(s -> s.split("="))
+ .collect(Collectors.toMap(a -> a[0], a -> a.length > 1 ? a[1] : ""));
+ assertEquals(clientId, query.get(OAuthConstants.CLIENT_ID));
+ assertEquals(redirectUri, query.get(OAuthConstants.REDIRECT_URI));
+ assertEquals(state, query.get(OAuthConstants.STATE));
+ assertEquals(OAuthConstants.CODE_RESPONSE_TYPE, query.get(OAuthConstants.RESPONSE_TYPE));
+ }
+
}