From bb2c42302785162f65a0d65954a18188538325f8 Mon Sep 17 00:00:00 2001 From: oharsta Date: Thu, 2 Aug 2012 16:22:22 +0200 Subject: [PATCH] Refactored and combined client jar and authorization jar --- oaaas-authorization-server-war/pom.xml | 453 ++++++++------- .../src/main/resources/application.properties | 31 ++ .../src/main/webapp/example.js | 1 + .../test/java/it/VerifyResourceTestIT.java | 2 +- oaaas-authorization-server/pom.xml | 411 +++++++------- .../oaaas/auth/AbstractAuthenticator.java | 0 .../surfnet/oaaas/auth/AbstractFilter.java | 0 .../auth/AbstractUserConsentHandler.java | 2 + .../oaaas/auth/AuthorizationServerFilter.java | 1 + .../oaaas/auth/OAuth2ValidatorImpl.java | 1 + .../surfnet/oaaas/auth/UserConsentFilter.java | 20 +- .../oaaas/auth/principal/RolesPrincipal.java | 0 .../oaaas/auth/principal/SimplePrincipal.java | 0 .../oaaas/basic/BasicAuthenticator.java | 1 - .../oaaas/basic}/UserPassCredentials.java | 2 +- .../surfnet/oaaas/model}/AbstractEntity.java | 2 +- .../org/surfnet/oaaas/model/AccessToken.java | 2 - .../oaaas/model/AuthorizationRequest.java | 4 - .../java/org/surfnet/oaaas/model}/Client.java | 3 +- .../surfnet/oaaas/model}/ResourceServer.java | 2 +- .../oaaas/model}/VerifyTokenResponse.java | 2 +- .../oaaas/repository/ClientRepository.java | 4 +- .../repository/ResourceServerRepository.java | 2 +- .../oaaas/resource/ClientResource.java | 6 +- .../resource/ResourceServerResource.java | 4 +- .../surfnet/oaaas/resource/TokenResource.java | 52 +- .../oaaas/resource/VerifyResource.java | 6 +- .../org/surfnet/oaaas/simple/ConsentView.java | 13 +- .../org/surfnet/oaaas/simple/Context.java | 2 +- .../oaaas/simple/FormUserConsentHandler.java | 11 +- .../org/surfnet/oaaas/simple/consent.ftl | 21 +- .../org/surfnet/oaaas/simple/login.ftl | 1 - .../org/surfnet/oaaas/simple/old_consent.ftl | 68 +++ .../auth/AuthorizationServerFilterTest.java | 2 + .../oaaas/auth/OAuth2ValidatorImplTest.java | 1 + oaaas-client/pom.xml | 166 +++--- oaaas-example-resource-server/pom.xml | 247 ++++---- .../oaaas/example/api/OAuthAuthenticator.java | 2 +- oaaas-surfconext-authn/pom.xml | 86 ++- pom.xml | 525 +++++++++--------- 40 files changed, 1101 insertions(+), 1058 deletions(-) create mode 100644 oaaas-authorization-server-war/src/main/resources/application.properties create mode 100644 oaaas-authorization-server-war/src/main/webapp/example.js rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/AbstractAuthenticator.java (100%) rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/AbstractFilter.java (100%) rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java (99%) rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java (99%) rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/principal/RolesPrincipal.java (100%) rename {oaaas-client => oaaas-authorization-server}/src/main/java/org/surfnet/oaaas/auth/principal/SimplePrincipal.java (100%) rename {oaaas-client/src/main/java/org/surfnet/oaaas/auth => oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic}/UserPassCredentials.java (98%) rename {oaaas-client/src/main/java/org/surfnet/oaaas/auth => oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model}/AbstractEntity.java (98%) rename {oaaas-client/src/main/java/org/surfnet/oaaas/auth => oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model}/Client.java (98%) rename {oaaas-client/src/main/java/org/surfnet/oaaas/auth => oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model}/ResourceServer.java (98%) rename {oaaas-client/src/main/java/org/surfnet/oaaas/auth => oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model}/VerifyTokenResponse.java (99%) create mode 100644 oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/old_consent.ftl rename {oaaas-client => oaaas-authorization-server}/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java (98%) diff --git a/oaaas-authorization-server-war/pom.xml b/oaaas-authorization-server-war/pom.xml index 5236f4d8..01c59214 100644 --- a/oaaas-authorization-server-war/pom.xml +++ b/oaaas-authorization-server-war/pom.xml @@ -1,235 +1,222 @@ - - oaaas-parent - nl.surfnet.oaaas - 0.1-SNAPSHOT - - 4.0.0 - oaaas-authorization-server-war - war - OA-aaS - authorization server webapp - - - - 8080 - - - - nl.surfnet.oaaas - oaaas-authorization-server - - - - com.yammer.dropwizard - dropwizard-core - - - com.yammer.dropwizard - dropwizard-views - - - - - com.sun.jersey - jersey-servlet - ${jersey.version} - - - javax.servlet - javax.servlet-api - - - - com.sun.jersey.contribs - jersey-spring - ${jersey.version} - - - - org.springframework - spring - - - org.springframework - spring-core - - - org.springframework - spring-web - - - org.springframework - spring-beans - - - org.springframework - spring-context - - - org.springframework - spring-aop - - - - - - ch.qos.logback - logback-classic - 1.0.6 - - - org.slf4j - log4j-over-slf4j - - - org.slf4j - jcl-over-slf4j - - - org.slf4j - jul-to-slf4j - - - - com.sun.jersey - jersey-client - - - - org.springframework - spring-test - 3.1.2.RELEASE - test - - - - - - - - - - org.codehaus.cargo - cargo-maven2-plugin - 1.2.3 - - - - - src/test/resources/ - - - - - - ${servlet.port} - - - - - - ${project.groupId} - ${project.artifactId} - war - - / - - - - - - - - - - - - - maven-failsafe-plugin - 2.12 - - - - integration-test - verify - - - - - - - - - - org.codehaus.cargo - cargo-maven2-plugin - - - start-cargo - pre-integration-test - - start - - - - stop-cargo - post-integration-test - - stop - - - - - - - - - - - - - jetty7x - - true - - - - - - org.codehaus.cargo - cargo-maven2-plugin - - - jetty7x - - org.eclipse.jetty - jetty-distribution - 7.6.4.v20120524 - - - - - - - - - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + oaaas-parent + nl.surfnet.oaaas + 0.1-SNAPSHOT + + 4.0.0 + oaaas-authorization-server-war + war + OA-aaS - authorization server webapp + + + + 8080 + + + + nl.surfnet.oaaas + oaaas-authorization-server + + + + com.sun.jersey + jersey-servlet + ${jersey.version} + + + javax.servlet + javax.servlet-api + + + + com.sun.jersey.contribs + jersey-spring + ${jersey.version} + + + org.springframework + spring + + + org.springframework + spring-core + + + org.springframework + spring-web + + + org.springframework + spring-beans + + + org.springframework + spring-context + + + org.springframework + spring-aop + + + + + + ch.qos.logback + logback-classic + 1.0.6 + + + org.slf4j + log4j-over-slf4j + + + org.slf4j + jcl-over-slf4j + + + org.slf4j + jul-to-slf4j + + + com.sun.jersey + jersey-client + + + org.springframework + spring-web + + + org.springframework + spring-test + + + + + + + + + + org.codehaus.cargo + cargo-maven2-plugin + 1.2.3 + + + + + src/test/resources/ + + + + + + ${servlet.port} + + -Xdebug + -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 + -Xnoagent + -Djava.compiler=NONE + + + + + + + ${project.groupId} + ${project.artifactId} + war + + / + + + + + + + + + + + + + maven-failsafe-plugin + 2.12 + + + + integration-test + verify + + + + + + + + + + org.codehaus.cargo + cargo-maven2-plugin + + + start-cargo + pre-integration-test + + start + + + + stop-cargo + post-integration-test + + stop + + + + + + + + + + + + + jetty7x + + true + + + + + + org.codehaus.cargo + cargo-maven2-plugin + + + jetty7x + + org.eclipse.jetty + jetty-distribution + 7.6.4.v20120524 + + + + + + + + + diff --git a/oaaas-authorization-server-war/src/main/resources/application.properties b/oaaas-authorization-server-war/src/main/resources/application.properties new file mode 100644 index 00000000..5c09ab20 --- /dev/null +++ b/oaaas-authorization-server-war/src/main/resources/application.properties @@ -0,0 +1,31 @@ +# +# Copyright 2012 SURFnet bv, The Netherlands +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +jdbc.driverClassName=org.hsqldb.jdbcDriver +jdbc.url=jdbc:hsqldb:file:target/db +jdbc.username=sa +jdbc.password= + +authenticatorClass=org.surfnet.oaaas.basic.BasicAuthenticator +userConsentHandlerClass=org.surfnet.oaaas.simple.FormUserConsentHandler + +adminService.tokenVerificationUrl=http://localhost:8080/v1/tokeninfo +adminService.resourceServerKey=authorization-server-admin +adminService.resourceServerSecret=cafebabe-cafe-babe-cafe-babecafebabe + +# Either db/migration/mysql or db/migration/hsqldb +flyway.migrations.location=db/migration/hsqldb \ No newline at end of file diff --git a/oaaas-authorization-server-war/src/main/webapp/example.js b/oaaas-authorization-server-war/src/main/webapp/example.js new file mode 100644 index 00000000..7eb9cc72 --- /dev/null +++ b/oaaas-authorization-server-war/src/main/webapp/example.js @@ -0,0 +1 @@ +testje \ No newline at end of file diff --git a/oaaas-authorization-server-war/src/test/java/it/VerifyResourceTestIT.java b/oaaas-authorization-server-war/src/test/java/it/VerifyResourceTestIT.java index e3c05a9d..ef7632db 100644 --- a/oaaas-authorization-server-war/src/test/java/it/VerifyResourceTestIT.java +++ b/oaaas-authorization-server-war/src/test/java/it/VerifyResourceTestIT.java @@ -20,7 +20,7 @@ import com.sun.jersey.api.client.ClientResponse; import org.junit.Test; -import org.surfnet.oaaas.auth.VerifyTokenResponse; +import org.surfnet.oaaas.model.VerifyTokenResponse; import static org.junit.Assert.assertEquals; diff --git a/oaaas-authorization-server/pom.xml b/oaaas-authorization-server/pom.xml index fd67d712..30b7ca56 100644 --- a/oaaas-authorization-server/pom.xml +++ b/oaaas-authorization-server/pom.xml @@ -1,215 +1,202 @@ - + - 4.0.0 - - - ../pom.xml - nl.surfnet.oaaas - oaaas-parent - 0.1-SNAPSHOT - - - nl.surfnet.oaaas - oaaas-authorization-server - jar - OA-aaS - authorization server - - - - nl.surfnet.oaaas - oaaas-client - - - com.yammer.dropwizard - dropwizard-core - - - com.yammer.dropwizard - dropwizard-views - - - - com.sun.jersey - jersey-json - - - - junit - junit - - - com.yammer.dropwizard - dropwizard-testing - - - commons-lang - commons-lang - - - commons-validator - commons-validator - - - commons-logging - commons-logging - - - - - org.springframework.data - spring-data-jpa - - - org.springframework - spring-context - - - javax.inject - javax.inject - 1 - - - org.slf4j - jul-to-slf4j - - - - - - cglib - cglib - 2.2.2 - - - - org.hsqldb - hsqldb - - - org.hibernate.javax.persistence - hibernate-jpa-2.0-api - 1.0.0.Final - provided - - - joda-time - joda-time - 2.1 - - - com.googlecode.flyway - flyway-core - - - commons-codec - commons-codec - ${commons-codec.version} - - - nl.surfnet.oaaas - oaaas-surfconext-authn - 0.1-SNAPSHOT - - - - - - - - org.apache.openjpa - openjpa-maven-plugin - 2.2.0 - - org/surfnet/oaaas/model/*.class - true - true - - - - enhancer - process-classes - - enhance - - - - - - org.apache.openjpa - openjpa - - 2.2.0 - - - - - maven-failsafe-plugin - 2.12 - - - - integration-test - verify - - - - - - - - - - - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 + + + ../pom.xml + nl.surfnet.oaaas + oaaas-parent + 0.1-SNAPSHOT + + + nl.surfnet.oaaas + oaaas-authorization-server + jar + OA-aaS - authorization server + + + + com.yammer.dropwizard + dropwizard-core + + + com.yammer.dropwizard + dropwizard-views + + + com.sun.jersey + jersey-json + + + com.sun.jersey + jersey-client + + + junit + junit + + + com.yammer.dropwizard + dropwizard-testing + + + commons-lang + commons-lang + + + commons-validator + commons-validator + + + commons-logging + commons-logging + + + + + org.apache.openjpa + openjpa + + + org.hibernate + hibernate-validator + + + org.springframework.data + spring-data-jpa + + + org.springframework + spring-context + + + org.springframework + spring-test + + + javax.inject + javax.inject + 1 + + + org.slf4j + jul-to-slf4j + + + + + cglib + cglib + 2.2.2 + + + org.surfnet.coin + coin-test + + + org.eclipse.jetty + jetty-server + + + org.eclipse.jetty + jetty-util + + + + + + org.hsqldb + hsqldb + + + org.hibernate.javax.persistence + hibernate-jpa-2.0-api + 1.0.0.Final + provided + + + joda-time + joda-time + 2.1 + + + com.googlecode.flyway + flyway-core + + + commons-codec + commons-codec + ${commons-codec.version} + + + com.google.guava + guava + + + + + + + org.apache.openjpa + openjpa-maven-plugin + 2.2.0 + + org/surfnet/oaaas/model/*.class + true + true + + + + enhancer + process-classes + + enhance + + + + + + org.apache.openjpa + openjpa + + 2.2.0 + + + + + maven-failsafe-plugin + 2.12 + + + + integration-test + verify + + + + + + + + + + + diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractAuthenticator.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractAuthenticator.java similarity index 100% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractAuthenticator.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractAuthenticator.java diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractFilter.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractFilter.java similarity index 100% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractFilter.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractFilter.java diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java similarity index 99% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java index 209b7c97..cf95a362 100644 --- a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AbstractUserConsentHandler.java @@ -28,6 +28,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.surfnet.oaaas.model.Client; + /** * Responsible for handling user consent. * diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java similarity index 99% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java index 30a96a23..2281da59 100644 --- a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/AuthorizationServerFilter.java @@ -40,6 +40,7 @@ import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.surfnet.oaaas.model.VerifyTokenResponse; /** * {@link Filter} which can be used to protect all relevant resources by diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/OAuth2ValidatorImpl.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/OAuth2ValidatorImpl.java index 0a7c643b..5a79d939 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/OAuth2ValidatorImpl.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/OAuth2ValidatorImpl.java @@ -25,6 +25,7 @@ import org.apache.commons.lang.StringUtils; import org.surfnet.oaaas.model.AuthorizationRequest; +import org.surfnet.oaaas.model.Client; import org.surfnet.oaaas.repository.ClientRepository; /** diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/UserConsentFilter.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/UserConsentFilter.java index b2d4fcb0..3ac7dfaf 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/UserConsentFilter.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/UserConsentFilter.java @@ -68,20 +68,26 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) if (initialRequest(request)) { storePrincipal(request, response, authorizationRequest); request.setAttribute(AbstractAuthenticator.RETURN_URI, returnUri); + request.setAttribute(AbstractUserConsentHandler.CLIENT, authorizationRequest.getClient()); if (!authorizationRequest.getClient().isSkipConsent()) { userConsentHandler.doFilter(request, response, chain); + } else { + chain.doFilter(request, response); } } else { /* * Ok, the consentHandler wants to have control again (because he stepped * out) */ - chain.doFilter(request, response); + userConsentHandler.doFilter(request, response, chain); } } private AuthorizationRequest findAuthorizationRequest(HttpServletRequest request) { String authState = (String) request.getAttribute(AbstractAuthenticator.AUTH_STATE); + if (StringUtils.isBlank(authState)) { + authState = request.getParameter(AbstractAuthenticator.AUTH_STATE); + } return authorizationRequestRepository.findByAuthState(authState); } @@ -117,11 +123,13 @@ public void setUserConsentHandler(AbstractUserConsentHandler userConsentHandler) @Override public void init(FilterConfig filterConfig) throws ServletException { -// this.returnUri = filterConfig.getInitParameter(MAPPING_URL); -// if (StringUtils.isBlank(returnUri)) { -// throw new ServletException("Must provide an init parameter '" + MAPPING_URL -// + "' that can serve as returnUri for AbstractUserConsentHandler instances (e.g. 'oauth2/consent') "); -// } + // this.returnUri = filterConfig.getInitParameter(MAPPING_URL); + // if (StringUtils.isBlank(returnUri)) { + // throw new ServletException("Must provide an init parameter '" + + // MAPPING_URL + // + + // "' that can serve as returnUri for AbstractUserConsentHandler instances (e.g. 'oauth2/consent') "); + // } } @Override diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/principal/RolesPrincipal.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/principal/RolesPrincipal.java similarity index 100% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/principal/RolesPrincipal.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/principal/RolesPrincipal.java diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/principal/SimplePrincipal.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/principal/SimplePrincipal.java similarity index 100% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/principal/SimplePrincipal.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/auth/principal/SimplePrincipal.java diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/BasicAuthenticator.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/BasicAuthenticator.java index 87c36c29..575557c7 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/BasicAuthenticator.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/BasicAuthenticator.java @@ -25,7 +25,6 @@ import javax.servlet.http.HttpServletResponse; import org.surfnet.oaaas.auth.AbstractAuthenticator; -import org.surfnet.oaaas.auth.UserPassCredentials; import org.surfnet.oaaas.auth.principal.SimplePrincipal; /** diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/UserPassCredentials.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/UserPassCredentials.java similarity index 98% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/UserPassCredentials.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/UserPassCredentials.java index 4a298b90..f318241b 100644 --- a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/UserPassCredentials.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/basic/UserPassCredentials.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.surfnet.oaaas.auth; +package org.surfnet.oaaas.basic; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; diff --git a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractEntity.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AbstractEntity.java similarity index 98% rename from oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractEntity.java rename to oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AbstractEntity.java index 471b2b5b..41c3bf17 100644 --- a/oaaas-client/src/main/java/org/surfnet/oaaas/auth/AbstractEntity.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AbstractEntity.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.surfnet.oaaas.auth; +package org.surfnet.oaaas.model; import java.io.Serializable; diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AccessToken.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AccessToken.java index 6f9ec3c7..e2103b6c 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AccessToken.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/model/AccessToken.java @@ -27,8 +27,6 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; -import org.surfnet.oaaas.auth.AbstractEntity; -import org.surfnet.oaaas.auth.Client; /** * Representation of an { diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/repository/ResourceServerRepository.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/repository/ResourceServerRepository.java index bb48600d..483881f7 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/repository/ResourceServerRepository.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/repository/ResourceServerRepository.java @@ -20,7 +20,7 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; -import org.surfnet.oaaas.auth.ResourceServer; +import org.surfnet.oaaas.model.ResourceServer; @Repository public interface ResourceServerRepository extends CrudRepository { diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ClientResource.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ClientResource.java index 24c18142..0a9d4d06 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ClientResource.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ClientResource.java @@ -37,9 +37,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.surfnet.oaaas.auth.AuthorizationServerFilter; -import org.surfnet.oaaas.auth.Client; -import org.surfnet.oaaas.auth.ResourceServer; -import org.surfnet.oaaas.auth.VerifyTokenResponse; +import org.surfnet.oaaas.model.Client; +import org.surfnet.oaaas.model.ResourceServer; +import org.surfnet.oaaas.model.VerifyTokenResponse; import org.surfnet.oaaas.repository.ClientRepository; import org.surfnet.oaaas.repository.ResourceServerRepository; diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ResourceServerResource.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ResourceServerResource.java index 29000dd7..2e1e499d 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ResourceServerResource.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/ResourceServerResource.java @@ -39,8 +39,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.surfnet.oaaas.auth.AuthorizationServerFilter; -import org.surfnet.oaaas.auth.ResourceServer; -import org.surfnet.oaaas.auth.VerifyTokenResponse; +import org.surfnet.oaaas.model.ResourceServer; +import org.surfnet.oaaas.model.VerifyTokenResponse; import org.surfnet.oaaas.repository.ResourceServerRepository; /** diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/TokenResource.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/TokenResource.java index 9a20e91b..be5634b6 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/TokenResource.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/TokenResource.java @@ -35,18 +35,21 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.surfnet.oaaas.auth.AbstractAuthenticator; -import org.surfnet.oaaas.auth.Client; +import org.surfnet.oaaas.auth.AbstractUserConsentHandler; import org.surfnet.oaaas.auth.OAuth2Validator; -import org.surfnet.oaaas.auth.UserPassCredentials; import org.surfnet.oaaas.auth.principal.RolesPrincipal; +import org.surfnet.oaaas.basic.UserPassCredentials; import org.surfnet.oaaas.model.AccessToken; import org.surfnet.oaaas.model.AccessTokenRequest; import org.surfnet.oaaas.model.AccessTokenResponse; import org.surfnet.oaaas.model.AuthorizationRequest; +import org.surfnet.oaaas.model.Client; import org.surfnet.oaaas.model.ErrorResponse; import org.surfnet.oaaas.repository.AccessTokenRepository; import org.surfnet.oaaas.repository.AuthorizationRequestRepository; @@ -82,15 +85,7 @@ public Response authorizeCallbackGet(@Context } /** - * - * We have two situations: either the {@link RolesPrincipal} is present on the - * {@link HttpServletRequest} as is the - * {@link AbstractAuthenticator#AUTH_STATE} or we already have saved the - * {@link RolesPrincipal} on the {@link AuthorizationRequest} and we haven - * relinquished control to the {@link UserConsentHandler} and we are in the - * Method POST of the consent screen and the - * {@link AbstractAuthenticator#AUTH_STATE} is a parameter. - * + * TODO document * * @param request * the {@link HttpServletRequest} @@ -100,16 +95,29 @@ public Response authorizeCallbackGet(@Context @Path("/authorize") public Response authorizeCallback(@Context HttpServletRequest request) { + return doProcess(request); + } + /** + * TODO document + * + * @param request + * the {@link HttpServletRequest} + * @return Response the response + */ + @POST + @Path("/consent") + public Response consentCallback(@Context + HttpServletRequest request) { + return doProcess(request); + } + + private Response doProcess(HttpServletRequest request) { AuthorizationRequest authReq = findAuthorizationRequest(request); if (authReq == null) { return serverError("Not a valid AbstractAuthenticator.AUTH_STATE on the Request"); } - RolesPrincipal principal = (RolesPrincipal) request.getAttribute(AbstractAuthenticator.PRINCIPAL); - if (principal == null) { - return serverError("Not a valid AbstractAuthenticator.AUTH_STATE on the Request"); - } - + processScopes(authReq, request); if (authReq.getResponseType().equals(OAuth2Validator.IMPLICIT_GRANT_RESPONSE_TYPE)) { AccessToken token = createAccessToken(authReq); return sendImplicitGrantResponse(authReq, token); @@ -117,6 +125,18 @@ public Response authorizeCallback(@Context return sendAuthorizationCodeResponse(authReq); } } + + + + /* + * In the user consent filter the scopes are (possible) set on the Request + */ + private void processScopes(AuthorizationRequest authReq, HttpServletRequest request) { + String[] scopes = (String[]) request.getAttribute(AbstractUserConsentHandler.GRANTED_SCOPES); + if (ArrayUtils.isNotEmpty(scopes)) { + authReq.setScopes(StringUtils.join(scopes, ",")); + } + } private AccessToken createAccessToken(AuthorizationRequest authReq) { Client client = authReq.getClient(); diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/VerifyResource.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/VerifyResource.java index 3d2ccc2f..bae1a41e 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/VerifyResource.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/resource/VerifyResource.java @@ -33,10 +33,10 @@ import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.surfnet.oaaas.auth.ResourceServer; -import org.surfnet.oaaas.auth.UserPassCredentials; -import org.surfnet.oaaas.auth.VerifyTokenResponse; +import org.surfnet.oaaas.basic.UserPassCredentials; import org.surfnet.oaaas.model.AccessToken; +import org.surfnet.oaaas.model.ResourceServer; +import org.surfnet.oaaas.model.VerifyTokenResponse; import org.surfnet.oaaas.repository.AccessTokenRepository; import org.surfnet.oaaas.repository.ResourceServerRepository; diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/ConsentView.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/ConsentView.java index c202dca4..8d51aedb 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/ConsentView.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/ConsentView.java @@ -18,18 +18,20 @@ */ package org.surfnet.oaaas.simple; -import org.surfnet.oaaas.auth.Client; +import org.apache.commons.lang.StringUtils; +import org.surfnet.oaaas.model.Client; import com.yammer.dropwizard.views.View; public class ConsentView extends View { private Context context; + private String[] scopes; public ConsentView(String actionUri, String authState, Client client) { super("consent.ftl"); this.context = new Context(actionUri, authState, client); - + this.scopes = StringUtils.isBlank(client.getScopes()) ? new String[] {} : client.getScopes().split(","); } /** @@ -39,4 +41,11 @@ public Context getContext() { return context; } + /** + * @return the scopes + */ + public String[] getScopes() { + return scopes; + } + } \ No newline at end of file diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/Context.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/Context.java index 6b95d0df..e77663de 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/Context.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/Context.java @@ -18,7 +18,7 @@ */ package org.surfnet.oaaas.simple; -import org.surfnet.oaaas.auth.Client; +import org.surfnet.oaaas.model.Client; /** * Wrapper for dynamic view values diff --git a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/FormUserConsentHandler.java b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/FormUserConsentHandler.java index 6fdd3633..c91f6b94 100644 --- a/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/FormUserConsentHandler.java +++ b/oaaas-authorization-server/src/main/java/org/surfnet/oaaas/simple/FormUserConsentHandler.java @@ -30,8 +30,8 @@ import org.apache.commons.lang.StringUtils; import org.surfnet.oaaas.auth.AbstractUserConsentHandler; -import org.surfnet.oaaas.auth.Client; import org.surfnet.oaaas.auth.principal.SimplePrincipal; +import org.surfnet.oaaas.model.Client; import com.yammer.dropwizard.views.View; import com.yammer.dropwizard.views.ViewMessageBodyWriter; @@ -64,14 +64,11 @@ public void handleUserConsent(HttpServletRequest request, HttpServletResponse re } else { processInitial(request, response, returnUri, authStateValue, client); } - - // http://freemarker.sourceforge.net/docs/pgui_quickstart_all.html - } private void processInitial(HttpServletRequest request, ServletResponse response, String returnUri, String authStateValue, Client client) throws IOException { - + // TODO migrate to http://freemarker.sourceforge.net/docs/pgui_quickstart_all.html ViewMessageBodyWriter w = new ViewMessageBodyWriter(new MockHttpHeaders()); View view = new ConsentView(super.getReturnUri(request), authStateValue, client); @@ -82,8 +79,8 @@ private void processInitial(HttpServletRequest request, ServletResponse response private void processForm(final HttpServletRequest request) { if (Boolean.valueOf(request.getParameter(USER_OAUTH_APPROVAL))) { - setAuthStateValue(request, request.getParameter("authState")); - String[] scopes = request.getParameterValues("granted_scopes"); + setAuthStateValue(request, request.getParameter(AUTH_STATE)); + String[] scopes = request.getParameterValues(GRANTED_SCOPES); setScopes(request, scopes); } } diff --git a/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/consent.ftl b/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/consent.ftl index c4630d30..02d360a6 100644 --- a/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/consent.ftl +++ b/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/consent.ftl @@ -7,20 +7,11 @@ Consent - - - - - - -
-

${context.client.name} (${context.client.description}) is asking consent for accessing:"/>

+

${context.client.name} (${context.client.description}) is asking consent for accessing:

-

    - <#list context.client.scopes as scope> -
  • + +
      + <#list scopes as scope> +
    • ${scope}
    • -
    +
-
diff --git a/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/old_consent.ftl b/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/old_consent.ftl new file mode 100644 index 00000000..62b61728 --- /dev/null +++ b/oaaas-authorization-server/src/main/resources/org/surfnet/oaaas/simple/old_consent.ftl @@ -0,0 +1,68 @@ + + + + + + + + Consent + + + + + + + + + + +
+
+

${context.client.name} (${context.client.description}) is asking consent for accessing:"/>

+ +
+ +
+ +
+
+

+ +

    + <#list scopes as scope> +
  • + +
+ + +

+
+
+
+
+

+ + + +

+
+
+ + + + + \ No newline at end of file diff --git a/oaaas-client/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java b/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java similarity index 98% rename from oaaas-client/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java rename to oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java index c21e7864..d9d89c39 100644 --- a/oaaas-client/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java +++ b/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/AuthorizationServerFilterTest.java @@ -25,6 +25,7 @@ import javax.ws.rs.core.HttpHeaders; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; @@ -32,6 +33,7 @@ import org.springframework.mock.web.MockFilterConfig; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; +import org.surfnet.oaaas.model.VerifyTokenResponse; import nl.surfnet.coin.mock.AbstractMockHttpServerTest; diff --git a/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/OAuth2ValidatorImplTest.java b/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/OAuth2ValidatorImplTest.java index 2cdba7eb..b6ffb2d7 100644 --- a/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/OAuth2ValidatorImplTest.java +++ b/oaaas-authorization-server/src/test/java/org/surfnet/oaaas/auth/OAuth2ValidatorImplTest.java @@ -25,6 +25,7 @@ import org.mockito.MockitoAnnotations; import org.surfnet.oaaas.auth.OAuth2Validator.ValidationResponse; import org.surfnet.oaaas.model.AuthorizationRequest; +import org.surfnet.oaaas.model.Client; import org.surfnet.oaaas.repository.ClientRepository; import static org.junit.Assert.assertEquals; diff --git a/oaaas-client/pom.xml b/oaaas-client/pom.xml index 59ea7d80..b2efcc77 100644 --- a/oaaas-client/pom.xml +++ b/oaaas-client/pom.xml @@ -1,93 +1,85 @@ - + - - 4.0.0 + + 4.0.0 - - nl.surfnet.oaaas - oaaas-parent - 0.1-SNAPSHOT - + + nl.surfnet.oaaas + oaaas-parent + 0.1-SNAPSHOT + - nl.surfnet.oaaas - oaaas-client - OA-aaS - client library + nl.surfnet.oaaas + oaaas-client + OA-aaS - client library - - - javax.servlet - javax.servlet-api - - - commons-codec - commons-codec - - - com.sun.jersey - jersey-client - - - com.sun.jersey - jersey-json - - - org.apache.openjpa - openjpa - - - org.hibernate - hibernate-validator - - - com.google.guava - guava - - - org.surfnet.coin - coin-test - - - org.eclipse.jetty - jetty-server - - - org.eclipse.jetty - jetty-util - - - - - org.springframework - spring-test - - - com.yammer.dropwizard - dropwizard-testing - - - org.slf4j - slf4j-api - - - commons-lang - commons-lang - - + + + javax.servlet + javax.servlet-api + + + commons-codec + commons-codec + + + com.sun.jersey + jersey-client + + + com.sun.jersey + jersey-json + + + org.apache.openjpa + openjpa + + + org.hibernate + hibernate-validator + + + com.google.guava + guava + + + org.surfnet.coin + coin-test + + + org.eclipse.jetty + jetty-server + + + org.eclipse.jetty + jetty-util + + + + + org.springframework + spring-test + + + com.yammer.dropwizard + dropwizard-testing + + + org.slf4j + slf4j-api + + + commons-lang + commons-lang + + \ No newline at end of file diff --git a/oaaas-example-resource-server/pom.xml b/oaaas-example-resource-server/pom.xml index ba55bf34..0d337dd1 100644 --- a/oaaas-example-resource-server/pom.xml +++ b/oaaas-example-resource-server/pom.xml @@ -1,150 +1,115 @@ - + - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 - - ../pom.xml - nl.surfnet.oaaas - oaaas-parent - 0.1-SNAPSHOT - + + ../pom.xml + nl.surfnet.oaaas + oaaas-parent + 0.1-SNAPSHOT + - nl.surfnet.oaaas - oaaas-example-resource-server - jar - OA-aaS - example resource server + nl.surfnet.oaaas + oaaas-example-resource-server + jar + OA-aaS - example resource server - - - nl.surfnet.oaaas - oaaas-client - ${project.version} - - - com.yammer.dropwizard - dropwizard-core - - - com.yammer.dropwizard - dropwizard-auth - - - com.yammer.dropwizard - dropwizard-views - - - junit - junit - - - com.yammer.dropwizard - dropwizard-testing - - - commons-lang - commons-lang - - - com.sun.jersey - jersey-client - - - com.sun.jersey - jersey-json - + + + nl.surfnet.oaaas + oaaas-authorization-server + ${project.version} + + + com.yammer.dropwizard + dropwizard-core + + + com.yammer.dropwizard + dropwizard-auth + + + com.yammer.dropwizard + dropwizard-views + + + junit + junit + + + com.yammer.dropwizard + dropwizard-testing + + + commons-lang + commons-lang + + + com.sun.jersey + jersey-client + + + com.sun.jersey + jersey-json + - + - - - - org.apache.maven.plugins - maven-compiler-plugin - 2.3.2 - - 1.6 - 1.6 - UTF-8 - - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.5 - - - UTF-8 - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + UTF-8 + + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + + UTF-8 + + - - - - + + + + \ No newline at end of file diff --git a/oaaas-example-resource-server/src/main/java/org/surfnet/oaaas/example/api/OAuthAuthenticator.java b/oaaas-example-resource-server/src/main/java/org/surfnet/oaaas/example/api/OAuthAuthenticator.java index 5ffb9bc1..205eb186 100644 --- a/oaaas-example-resource-server/src/main/java/org/surfnet/oaaas/example/api/OAuthAuthenticator.java +++ b/oaaas-example-resource-server/src/main/java/org/surfnet/oaaas/example/api/OAuthAuthenticator.java @@ -22,7 +22,7 @@ import javax.ws.rs.core.HttpHeaders; -import org.surfnet.oaaas.auth.VerifyTokenResponse; +import org.surfnet.oaaas.model.VerifyTokenResponse; import com.google.common.base.Optional; import com.sun.jersey.api.client.Client; diff --git a/oaaas-surfconext-authn/pom.xml b/oaaas-surfconext-authn/pom.xml index 366272e3..339393ea 100644 --- a/oaaas-surfconext-authn/pom.xml +++ b/oaaas-surfconext-authn/pom.xml @@ -1,54 +1,44 @@ - + - - 4.0.0 + + 4.0.0 - - nl.surfnet.oaaas - oaaas-parent - 0.1-SNAPSHOT - + + nl.surfnet.oaaas + oaaas-parent + 0.1-SNAPSHOT + - nl.surfnet.oaaas - oaaas-surfconext-authn - OA-aaS - conext authentication plugin + nl.surfnet.oaaas + oaaas-surfconext-authn + OA-aaS - conext authentication plugin - - - org.surfnet.coin - spring-security-opensaml - 2.8.1-SNAPSHOT - - - - nl.surfnet.oaaas - oaaas-client - - - javax.servlet - javax.servlet-api - - - javax.inject - javax.inject - 1 - - + + + org.surfnet.coin + spring-security-opensaml + + + nl.surfnet.oaaas + oaaas-authorization-server + + + javax.servlet + javax.servlet-api + + + javax.inject + javax.inject + 1 + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 16bb593d..923632a5 100644 --- a/pom.xml +++ b/pom.xml @@ -1,272 +1,267 @@ - + - 4.0.0 - - nl.surfnet.oaaas - oaaas-parent - 0.1-SNAPSHOT - pom - OA-aaS + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + 4.0.0 - - oaaas-client - oaaas-example-resource-server - oaaas-authorization-server - oaaas-authorization-server-war - oaaas-surfconext-authn - oaaas-example-resource-server-war - - - - + nl.surfnet.oaaas + oaaas-parent + 0.1-SNAPSHOT + pom + OA-aaS - - UTF-8 - UTF-8 - - 0.4.2 - 1.5 - 2.2.8 - 4.10 - 1.4 - 3.1.2.RELEASE - 2.2.0 - 2.6 - 2.0.1 - 1.13 - 1.4 - 12.0.1 - 2.8.1 - 3.0.1 - 1.6.6 - 1.4.0 - 4.3.0.Final - 2.8.1-SNAPSHOT - + + + oaaas-example-resource-server + oaaas-authorization-server + oaaas-authorization-server-war + oaaas-surfconext-authn + oaaas-example-resource-server-war + + + + - - - - org.surfnet.coin - spring-security-opensaml - 2.8.1-SNAPSHOT - - - - org.springframework - spring-beans - ${spring.version} - - - org.springframework - spring-context - ${spring.version} - - - com.sun.jersey - jersey-client - ${jersey.version} - - - com.sun.jersey - jersey-json - ${jersey.version} - - - com.google.guava - guava - ${guava.version} - - - org.hibernate - hibernate-validator - ${hibernate-validator.version} - - - com.yammer.dropwizard - dropwizard-auth - ${dropwizard.version} - - - com.yammer.dropwizard - dropwizard-views - ${dropwizard.version} - - - com.yammer.dropwizard - dropwizard-client - ${dropwizard.version} - - - com.yammer.dropwizard - dropwizard-core - ${dropwizard.version} - - - com.googlecode.flyway - flyway-core - ${flyway.version} - - - commons-dbcp - commons-dbcp - ${commons.dbcp.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-io - commons-io - ${commons-io.version} - - - commons-validator - commons-validator - ${commons-validator.version} - - - org.hsqldb - hsqldb - ${hsqldb.version} - - - junit - junit - ${junit.version} - test - - - com.yammer.dropwizard - dropwizard-testing - ${dropwizard.version} - test - - - org.surfnet.coin - coin-test - ${coin-test.version} - test - - - org.springframework - spring-test - ${spring.version} - test - - - org.apache.openjpa - openjpa - ${openjpa.version} - - - commons-lang - commons-lang - ${commons-lang.version} - - - nl.surfnet.oaaas - oaaas-client - ${project.version} - - - nl.surfnet.oaaas - oaaas-authorization-server - ${project.version} - - - nl.surfnet.oaaas - oaaas-authn - ${project.version} - - - javax.servlet - javax.servlet-api - provided - ${servlet-api.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - log4j-over-slf4j - ${slf4j.version} - - - org.slf4j - jcl-over-slf4j - ${slf4j.version} - - - org.slf4j - jul-to-slf4j - ${slf4j.version} - - - org.springframework - spring-test - ${spring.version} - test - + + UTF-8 + UTF-8 + + 0.4.2 + 1.5 + 2.2.8 + 4.10 + 1.4 + 3.1.2.RELEASE + 2.2.0 + 2.6 + 2.0.1 + 1.12 + 1.4 + 12.0.1 + 2.8.1 + 3.0.1 + 1.6.6 + 1.4.0 + 4.3.0.Final + 2.8.1-SNAPSHOT + 1.1.0.RELEASE + - - - - - - - com.googlecode.flyway - flyway-maven-plugin - ${flyway.version} - - - - - - - - false - - - true - never - - openconext-releases - OpenConext public releases repository - https://build.surfconext.nl/repository/public/releases - - - - true - - - false - never - - openconext-snapshots - OpenConext public snapshots repository - https://build.surfconext.nl/repository/public/snapshots - - + + + + org.surfnet.coin + spring-security-opensaml + ${spring-security-opensaml.version} + + + org.springframework.data + spring-data-jpa + ${spring-data-jpa.version} + + + org.springframework + spring-beans + ${spring.version} + + + org.springframework + spring-web + ${spring.version} + + + org.springframework + spring-context + ${spring.version} + + + com.sun.jersey + jersey-client + ${jersey.version} + + + com.sun.jersey + jersey-json + ${jersey.version} + + + com.google.guava + guava + ${guava.version} + + + org.hibernate + hibernate-validator + ${hibernate-validator.version} + + + com.yammer.dropwizard + dropwizard-auth + ${dropwizard.version} + + + com.yammer.dropwizard + dropwizard-views + ${dropwizard.version} + + + com.yammer.dropwizard + dropwizard-client + ${dropwizard.version} + + + com.yammer.dropwizard + dropwizard-core + ${dropwizard.version} + + + com.googlecode.flyway + flyway-core + ${flyway.version} + + + commons-dbcp + commons-dbcp + ${commons.dbcp.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + commons-io + commons-io + ${commons-io.version} + + + commons-validator + commons-validator + ${commons-validator.version} + + + org.hsqldb + hsqldb + ${hsqldb.version} + + + junit + junit + ${junit.version} + test + + + com.yammer.dropwizard + dropwizard-testing + ${dropwizard.version} + test + + + org.surfnet.coin + coin-test + ${coin-test.version} + test + + + org.springframework + spring-test + ${spring.version} + test + + + org.apache.openjpa + openjpa + ${openjpa.version} + + + commons-lang + commons-lang + ${commons-lang.version} + + + nl.surfnet.oaaas + oaaas-client + ${project.version} + + + nl.surfnet.oaaas + oaaas-authorization-server + ${project.version} + + + nl.surfnet.oaaas + oaaas-authn + ${project.version} + + + javax.servlet + javax.servlet-api + provided + ${servlet-api.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + jul-to-slf4j + ${slf4j.version} + + + + + + + + com.googlecode.flyway + flyway-maven-plugin + ${flyway.version} + + + + + + + + false + + + true + never + + openconext-releases + OpenConext public releases repository + https://build.surfconext.nl/repository/public/releases + + + + true + + + false + never + + openconext-snapshots + OpenConext public snapshots repository + https://build.surfconext.nl/repository/public/snapshots + +