Repository: knox Updated Branches: refs/heads/master 3999c9234 -> 5d9b75e6b
KNOX-1509 - Upgrade pac4j dependencies Signed-off-by: Kevin Risden <kris...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/5d9b75e6 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/5d9b75e6 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/5d9b75e6 Branch: refs/heads/master Commit: 5d9b75e6b1b57c35e2f8a0e4ad7169069c38e2df Parents: 3999c92 Author: Kevin Risden <kris...@apache.org> Authored: Thu Oct 4 11:12:50 2018 -0400 Committer: Kevin Risden <kris...@apache.org> Committed: Thu Oct 4 15:23:57 2018 -0400 ---------------------------------------------------------------------- gateway-provider-security-pac4j/pom.xml | 41 +++----------------- .../gateway/pac4j/MockHttpServletRequest.java | 7 ++++ .../knox/gateway/pac4j/Pac4jProviderTest.java | 34 +++++++--------- pom.xml | 1 - 4 files changed, 28 insertions(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/knox/blob/5d9b75e6/gateway-provider-security-pac4j/pom.xml ---------------------------------------------------------------------- diff --git a/gateway-provider-security-pac4j/pom.xml b/gateway-provider-security-pac4j/pom.xml index db2ce55..15acfaa 100644 --- a/gateway-provider-security-pac4j/pom.xml +++ b/gateway-provider-security-pac4j/pom.xml @@ -30,10 +30,8 @@ <properties> <bcprov-jdk15on.version>1.60</bcprov-jdk15on.version> - <j2e-pac4j.version>3.0.0</j2e-pac4j.version> - <lang-tag.version>1.4.3</lang-tag.version> - <pac4j.version>2.1.0</pac4j.version> - <spring-core.version>4.3.17.RELEASE</spring-core.version> + <j2e-pac4j.version>4.0.0</j2e-pac4j.version> + <pac4j.version>3.2.0</pac4j.version> </properties> <dependencies> @@ -110,12 +108,6 @@ <groupId>org.pac4j</groupId> <artifactId>pac4j-core</artifactId> <version>${pac4j.version}</version> - <exclusions> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.pac4j</groupId> @@ -131,12 +123,6 @@ <groupId>org.pac4j</groupId> <artifactId>pac4j-oidc</artifactId> <version>${pac4j.version}</version> - <exclusions> - <exclusion> - <groupId>com.nimbusds</groupId> - <artifactId>lang-tag</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.pac4j</groupId> @@ -144,12 +130,12 @@ <version>${pac4j.version}</version> <exclusions> <exclusion> - <groupId>xalan</groupId> - <artifactId>xalan</artifactId> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> </exclusion> <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> + <groupId>xalan</groupId> + <artifactId>xalan</artifactId> </exclusion> <exclusion> <groupId>org.bouncycastle</groupId> @@ -159,25 +145,10 @@ </dependency> <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - <version>${spring-core.version}</version> - </dependency> - <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>${bcprov-jdk15on.version}</version> </dependency> - <dependency> - <groupId>com.nimbusds</groupId> - <artifactId>lang-tag</artifactId> - <version>${lang-tag.version}</version> - </dependency> - - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> - </dependency> <dependency> <groupId>junit</groupId> http://git-wip-us.apache.org/repos/asf/knox/blob/5d9b75e6/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/MockHttpServletRequest.java ---------------------------------------------------------------------- diff --git a/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/MockHttpServletRequest.java b/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/MockHttpServletRequest.java index e27efaa..26e6df3 100644 --- a/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/MockHttpServletRequest.java +++ b/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/MockHttpServletRequest.java @@ -23,6 +23,8 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; +import java.util.Collections; +import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -82,6 +84,11 @@ public class MockHttpServletRequest extends HttpServletRequestWrapper { } @Override + public Enumeration<String> getHeaderNames() { + return Collections.enumeration(headers.keySet()); + } + + @Override public String getHeader(String name) { return headers.get(name); } http://git-wip-us.apache.org/repos/asf/knox/blob/5d9b75e6/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/Pac4jProviderTest.java ---------------------------------------------------------------------- diff --git a/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/Pac4jProviderTest.java b/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/Pac4jProviderTest.java index 39a1628..fcc5c6e 100644 --- a/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/Pac4jProviderTest.java +++ b/gateway-provider-security-pac4j/src/test/java/org/apache/knox/gateway/pac4j/Pac4jProviderTest.java @@ -28,7 +28,6 @@ import org.apache.knox.gateway.services.security.AliasService; import org.apache.knox.gateway.services.security.impl.DefaultCryptoService; import org.easymock.EasyMock; import org.junit.Test; -import org.pac4j.core.client.Clients; import org.pac4j.core.context.Pac4jConstants; import org.pac4j.http.client.indirect.IndirectBasicAuthClient; @@ -107,7 +106,7 @@ public class Pac4jProviderTest { dispatcher.doFilter(request, response, filterChain); // it should be a redirection to the idp topology assertEquals(302, response.getStatus()); - assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); + assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); // we should have one cookie for the saved requested url List<Cookie> cookies = response.getCookies(); assertEquals(1, cookies.size()); @@ -117,9 +116,9 @@ public class Pac4jProviderTest { // step 2: send credentials to the callback url (callback from the identity provider) request = new MockHttpServletRequest(); request.setCookies(new Cookie[]{requestedUrlCookie}); - request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); + request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); request.addParameter(Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER, "true"); - request.addParameter(Clients.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); + request.addParameter(Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); request.addHeader("Authorization", "Basic amxlbGV1OmpsZWxldQ=="); request.setServerName(LOCALHOST); response = new MockHttpServletResponse(); @@ -128,14 +127,13 @@ public class Pac4jProviderTest { // it should be a redirection to the original url assertEquals(302, response.getStatus()); assertEquals(KNOXSSO_SERVICE_URL + "?" + ORIGINAL_URL + "=" + HADOOP_SERVICE_URL, response.getHeaders().get("Location")); - // we should have 3 cookies among with the user profile + // we should have 2 cookies among with the user profile cookies = response.getCookies(); Map<String, String> mapCookies = new HashMap<>(); - assertEquals(3, cookies.size()); + assertEquals(2, cookies.size()); for (final Cookie cookie : cookies) { mapCookies.put(cookie.getName(), cookie.getValue()); } - assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + CLIENT_CLASS + "$attemptedAuthentication")); assertNotNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.USER_PROFILES)); assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.REQUESTED_URL)); @@ -207,7 +205,7 @@ public class Pac4jProviderTest { dispatcher.doFilter(request, response, filterChain); // it should be a redirection to the idp topology assertEquals(302, response.getStatus()); - assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); + assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); // we should have one cookie for the saved requested url List<Cookie> cookies = response.getCookies(); assertEquals(1, cookies.size()); @@ -217,9 +215,9 @@ public class Pac4jProviderTest { // step 2: send credentials to the callback url (callback from the identity provider) request = new MockHttpServletRequest(); request.setCookies(new Cookie[]{requestedUrlCookie}); - request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); + request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); request.addParameter(Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER, "true"); - request.addParameter(Clients.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); + request.addParameter(Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); request.addHeader("Authorization", "Basic amxlbGV1OmpsZWxldQ=="); request.setServerName(LOCALHOST); response = new MockHttpServletResponse(); @@ -228,14 +226,13 @@ public class Pac4jProviderTest { // it should be a redirection to the original url assertEquals(302, response.getStatus()); assertEquals(KNOXSSO_SERVICE_URL + "?" + ORIGINAL_URL + "=" + HADOOP_SERVICE_URL, response.getHeaders().get("Location")); - // we should have 3 cookies among with the user profile + // we should have 2 cookies among with the user profile cookies = response.getCookies(); Map<String, String> mapCookies = new HashMap<>(); - assertEquals(3, cookies.size()); + assertEquals(2, cookies.size()); for (final Cookie cookie : cookies) { mapCookies.put(cookie.getName(), cookie.getValue()); } - assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + CLIENT_CLASS + "$attemptedAuthentication")); assertNotNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.USER_PROFILES)); assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.REQUESTED_URL)); @@ -306,7 +303,7 @@ public class Pac4jProviderTest { dispatcher.doFilter(request, response, filterChain); // it should be a redirection to the idp topology assertEquals(302, response.getStatus()); - assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); + assertEquals(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS, response.getHeaders().get("Location")); // we should have one cookie for the saved requested url List<Cookie> cookies = response.getCookies(); assertEquals(1, cookies.size()); @@ -316,9 +313,9 @@ public class Pac4jProviderTest { // step 2: send credentials to the callback url (callback from the identity provider) request = new MockHttpServletRequest(); request.setCookies(new Cookie[]{requestedUrlCookie}); - request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Clients.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); + request.setRequestURL(PAC4J_CALLBACK_URL + "?" + Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER + "=true&" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER + "=" + CLIENT_CLASS); request.addParameter(Pac4jDispatcherFilter.PAC4J_CALLBACK_PARAMETER, "true"); - request.addParameter(Clients.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); + request.addParameter(Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER, CLIENT_CLASS); request.addHeader("Authorization", "Basic amxlbGV1OmpsZWxldQ=="); request.setServerName(LOCALHOST); response = new MockHttpServletResponse(); @@ -327,14 +324,13 @@ public class Pac4jProviderTest { // it should be a redirection to the original url assertEquals(302, response.getStatus()); assertEquals(KNOXSSO_SERVICE_URL + "?" + ORIGINAL_URL + "=" + HADOOP_SERVICE_URL, response.getHeaders().get("Location")); - // we should have 3 cookies among with the user profile + // we should have 2 cookies among with the user profile cookies = response.getCookies(); Map<String, String> mapCookies = new HashMap<>(); - assertEquals(3, cookies.size()); + assertEquals(2, cookies.size()); for (final Cookie cookie : cookies) { mapCookies.put(cookie.getName(), cookie.getValue()); } - assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + CLIENT_CLASS + "$attemptedAuthentication")); assertNotNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.USER_PROFILES)); assertNull(mapCookies.get(KnoxSessionStore.PAC4J_SESSION_PREFIX + Pac4jConstants.REQUESTED_URL)); http://git-wip-us.apache.org/repos/asf/knox/blob/5d9b75e6/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 3ad1ce8..4c4c3c6 100644 --- a/pom.xml +++ b/pom.xml @@ -169,7 +169,6 @@ <hamcrest-json.version>0.2</hamcrest-json.version> <httpclient.version>4.5.6</httpclient.version> <httpcore.version>4.4.10</httpcore.version> - <j2e-pac4j.version>3.0.0</j2e-pac4j.version> <jackson.version>2.9.5</jackson.version> <jansi.version>1.17.1</jansi.version> <javax.annotation-api.version>1.2</javax.annotation-api.version>