From a2edb3175317456f692c19e980734c44f2578714 Mon Sep 17 00:00:00 2001 From: Justin Richer Date: Tue, 12 May 2015 15:59:03 -0400 Subject: [PATCH] moved UMA server to its own module --- openid-connect-server/pom.xml | 4 - .../discovery/web/DiscoveryEndpoint.java | 38 --------- pom.xml | 2 + uma-server-webapp/pom.xml | 29 +++++++ uma-server/pom.xml | 49 ++++++++++++ .../impl/JpaPermissionRepository.java | 0 .../impl/JpaResourceSetRepository.java | 0 .../impl/DefaultPermissionService.java | 0 .../impl/DefaultResourceSetService.java | 0 .../service/impl/DefaultUmaTokenService.java | 0 .../service/impl/MatchAllClaimsProcessor.java | 0 .../util/ExternalLoginAuthoritiesMapper.java | 0 .../ResourceSetEntityAbbreviatedView.java | 0 .../mitre/uma/view/ResourceSetEntityView.java | 0 .../uma/web/AuthorizationRequestEndpoint.java | 0 .../java/org/mitre/uma/web/ClaimsAPI.java | 0 .../uma/web/ClaimsCollectionEndpoint.java | 0 .../web/PermissionRegistrationEndpoint.java | 0 .../web/ResourceSetRegistrationEndpoint.java | 0 .../mitre/uma/web/UmaDiscoveryEndpoint.java | 80 +++++++++++++++++++ .../mitre/uma/web/UserClaimSearchHelper.java | 0 .../impl/TestDefaultPermissionService.java | 0 .../impl/TestDefaultResourceSetService.java | 0 23 files changed, 160 insertions(+), 42 deletions(-) create mode 100644 uma-server-webapp/pom.xml create mode 100644 uma-server/pom.xml rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/repository/impl/JpaPermissionRepository.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/repository/impl/JpaResourceSetRepository.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/service/impl/DefaultPermissionService.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/service/impl/DefaultResourceSetService.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/service/impl/DefaultUmaTokenService.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/service/impl/MatchAllClaimsProcessor.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/util/ExternalLoginAuthoritiesMapper.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/view/ResourceSetEntityAbbreviatedView.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/view/ResourceSetEntityView.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/AuthorizationRequestEndpoint.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/ClaimsAPI.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/ClaimsCollectionEndpoint.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/PermissionRegistrationEndpoint.java (100%) rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/ResourceSetRegistrationEndpoint.java (100%) create mode 100644 uma-server/src/main/java/org/mitre/uma/web/UmaDiscoveryEndpoint.java rename {openid-connect-server => uma-server}/src/main/java/org/mitre/uma/web/UserClaimSearchHelper.java (100%) rename {openid-connect-server => uma-server}/src/test/java/org/mitre/uma/service/impl/TestDefaultPermissionService.java (100%) rename {openid-connect-server => uma-server}/src/test/java/org/mitre/uma/service/impl/TestDefaultResourceSetService.java (100%) diff --git a/openid-connect-server/pom.xml b/openid-connect-server/pom.xml index c835ce1dc..3403e1c86 100644 --- a/openid-connect-server/pom.xml +++ b/openid-connect-server/pom.xml @@ -43,10 +43,6 @@ org.mitre openid-connect-common - - org.mitre - openid-connect-client - org.springframework spring-tx diff --git a/openid-connect-server/src/main/java/org/mitre/discovery/web/DiscoveryEndpoint.java b/openid-connect-server/src/main/java/org/mitre/discovery/web/DiscoveryEndpoint.java index 72baffad5..1bde1ac36 100644 --- a/openid-connect-server/src/main/java/org/mitre/discovery/web/DiscoveryEndpoint.java +++ b/openid-connect-server/src/main/java/org/mitre/discovery/web/DiscoveryEndpoint.java @@ -32,10 +32,6 @@ import org.mitre.openid.connect.model.UserInfo; import org.mitre.openid.connect.service.UserInfoService; import org.mitre.openid.connect.view.HttpCodeView; import org.mitre.openid.connect.view.JsonEntityView; -import org.mitre.uma.web.AuthorizationRequestEndpoint; -import org.mitre.uma.web.ClaimsCollectionEndpoint; -import org.mitre.uma.web.PermissionRegistrationEndpoint; -import org.mitre.uma.web.ResourceSetRegistrationEndpoint; import org.mitre.openid.connect.web.DynamicClientRegistrationEndpoint; import org.mitre.openid.connect.web.JWKSetPublishingEndpoint; import org.mitre.openid.connect.web.UserInfoEndpoint; @@ -54,7 +50,6 @@ import org.springframework.web.util.UriComponentsBuilder; import com.google.common.base.Function; import com.google.common.base.Strings; import com.google.common.collect.Collections2; -import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.nimbusds.jose.Algorithm; import com.nimbusds.jose.JWSAlgorithm; @@ -365,37 +360,4 @@ public class DiscoveryEndpoint { } - @RequestMapping(".well-known/uma-configuration") - public String umaConfiguration(Model model) { - - Map m = new HashMap(); - - String issuer = config.getIssuer(); - ImmutableSet tokenProfiles = ImmutableSet.of("bearer"); - ArrayList grantTypes = Lists.newArrayList("authorization_code", "implicit", "urn:ietf:params:oauth:grant-type:jwt-bearer", "client_credentials", "urn:ietf:params:oauth:grant_type:redelegate"); - - m.put("version", "1.0"); - m.put("issuer", issuer); - m.put("pat_profiles_supported", tokenProfiles); - m.put("aat_profiles_supported", tokenProfiles); - m.put("rpt_profiles_supported", tokenProfiles); - m.put("pat_grant_types_supported", grantTypes); - m.put("aat_grant_types_supported", grantTypes); - m.put("claim_token_profiles_supported", ImmutableSet.of()); - m.put("uma_profiles_supported", ImmutableSet.of()); - m.put("dynamic_client_endpoint", issuer + DynamicClientRegistrationEndpoint.URL); - m.put("token_endpoint", issuer + "token"); - m.put("authorization_endpoint", issuer + "authorize"); - m.put("requesting_party_claims_endpoint", issuer + ClaimsCollectionEndpoint.URL); - m.put("introspection_endpoint", issuer + IntrospectionEndpoint.URL); - m.put("resource_set_registration_endpoint", issuer + ResourceSetRegistrationEndpoint.DISCOVERY_URL); - m.put("permission_registration_endpoint", issuer + PermissionRegistrationEndpoint.URL); - m.put("rpt_endpoint", issuer + AuthorizationRequestEndpoint.URL); - - - - model.addAttribute("entity", m); - return JsonEntityView.VIEWNAME; - } - } diff --git a/pom.xml b/pom.xml index aee57f746..f0bd74ccf 100644 --- a/pom.xml +++ b/pom.xml @@ -41,6 +41,8 @@ openid-connect-client openid-connect-server openid-connect-server-webapp + uma-server + uma-server-webapp diff --git a/uma-server-webapp/pom.xml b/uma-server-webapp/pom.xml new file mode 100644 index 000000000..24d3d20ae --- /dev/null +++ b/uma-server-webapp/pom.xml @@ -0,0 +1,29 @@ + + + + 4.0.0 + + org.mitre + openid-connect-parent + 1.2.0.UMA-SNAPSHOT + .. + + uma-server-webapp + war + Deployable package of the User Managed Access (UMA) server extension to MITREid Connect + \ No newline at end of file diff --git a/uma-server/pom.xml b/uma-server/pom.xml new file mode 100644 index 000000000..a32f9f040 --- /dev/null +++ b/uma-server/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + org.mitre + openid-connect-parent + 1.2.0.UMA-SNAPSHOT + + uma-server + User Managed Access (UMA) extension of the MITREid Connect server + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java-version} + ${java-version} + + + + + + + org.mitre + openid-connect-server + + + org.mitre + openid-connect-client + + + \ No newline at end of file diff --git a/openid-connect-server/src/main/java/org/mitre/uma/repository/impl/JpaPermissionRepository.java b/uma-server/src/main/java/org/mitre/uma/repository/impl/JpaPermissionRepository.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/repository/impl/JpaPermissionRepository.java rename to uma-server/src/main/java/org/mitre/uma/repository/impl/JpaPermissionRepository.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/repository/impl/JpaResourceSetRepository.java b/uma-server/src/main/java/org/mitre/uma/repository/impl/JpaResourceSetRepository.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/repository/impl/JpaResourceSetRepository.java rename to uma-server/src/main/java/org/mitre/uma/repository/impl/JpaResourceSetRepository.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultPermissionService.java b/uma-server/src/main/java/org/mitre/uma/service/impl/DefaultPermissionService.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultPermissionService.java rename to uma-server/src/main/java/org/mitre/uma/service/impl/DefaultPermissionService.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultResourceSetService.java b/uma-server/src/main/java/org/mitre/uma/service/impl/DefaultResourceSetService.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultResourceSetService.java rename to uma-server/src/main/java/org/mitre/uma/service/impl/DefaultResourceSetService.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultUmaTokenService.java b/uma-server/src/main/java/org/mitre/uma/service/impl/DefaultUmaTokenService.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/service/impl/DefaultUmaTokenService.java rename to uma-server/src/main/java/org/mitre/uma/service/impl/DefaultUmaTokenService.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/service/impl/MatchAllClaimsProcessor.java b/uma-server/src/main/java/org/mitre/uma/service/impl/MatchAllClaimsProcessor.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/service/impl/MatchAllClaimsProcessor.java rename to uma-server/src/main/java/org/mitre/uma/service/impl/MatchAllClaimsProcessor.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/util/ExternalLoginAuthoritiesMapper.java b/uma-server/src/main/java/org/mitre/uma/util/ExternalLoginAuthoritiesMapper.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/util/ExternalLoginAuthoritiesMapper.java rename to uma-server/src/main/java/org/mitre/uma/util/ExternalLoginAuthoritiesMapper.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/view/ResourceSetEntityAbbreviatedView.java b/uma-server/src/main/java/org/mitre/uma/view/ResourceSetEntityAbbreviatedView.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/view/ResourceSetEntityAbbreviatedView.java rename to uma-server/src/main/java/org/mitre/uma/view/ResourceSetEntityAbbreviatedView.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/view/ResourceSetEntityView.java b/uma-server/src/main/java/org/mitre/uma/view/ResourceSetEntityView.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/view/ResourceSetEntityView.java rename to uma-server/src/main/java/org/mitre/uma/view/ResourceSetEntityView.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/AuthorizationRequestEndpoint.java b/uma-server/src/main/java/org/mitre/uma/web/AuthorizationRequestEndpoint.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/AuthorizationRequestEndpoint.java rename to uma-server/src/main/java/org/mitre/uma/web/AuthorizationRequestEndpoint.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/ClaimsAPI.java b/uma-server/src/main/java/org/mitre/uma/web/ClaimsAPI.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/ClaimsAPI.java rename to uma-server/src/main/java/org/mitre/uma/web/ClaimsAPI.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/ClaimsCollectionEndpoint.java b/uma-server/src/main/java/org/mitre/uma/web/ClaimsCollectionEndpoint.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/ClaimsCollectionEndpoint.java rename to uma-server/src/main/java/org/mitre/uma/web/ClaimsCollectionEndpoint.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/PermissionRegistrationEndpoint.java b/uma-server/src/main/java/org/mitre/uma/web/PermissionRegistrationEndpoint.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/PermissionRegistrationEndpoint.java rename to uma-server/src/main/java/org/mitre/uma/web/PermissionRegistrationEndpoint.java diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/ResourceSetRegistrationEndpoint.java b/uma-server/src/main/java/org/mitre/uma/web/ResourceSetRegistrationEndpoint.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/ResourceSetRegistrationEndpoint.java rename to uma-server/src/main/java/org/mitre/uma/web/ResourceSetRegistrationEndpoint.java diff --git a/uma-server/src/main/java/org/mitre/uma/web/UmaDiscoveryEndpoint.java b/uma-server/src/main/java/org/mitre/uma/web/UmaDiscoveryEndpoint.java new file mode 100644 index 000000000..dc87299b6 --- /dev/null +++ b/uma-server/src/main/java/org/mitre/uma/web/UmaDiscoveryEndpoint.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright 2015 The MITRE Corporation + * and the MIT Kerberos and Internet Trust Consortium + * + * 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. + *******************************************************************************/ + +package org.mitre.uma.web; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import org.mitre.oauth2.web.IntrospectionEndpoint; +import org.mitre.openid.connect.config.ConfigurationPropertiesBean; +import org.mitre.openid.connect.view.JsonEntityView; +import org.mitre.openid.connect.web.DynamicClientRegistrationEndpoint; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; + +/** + * @author jricher + * + */ +@Controller +public class UmaDiscoveryEndpoint { + + @Autowired + private ConfigurationPropertiesBean config; + + @RequestMapping(".well-known/uma-configuration") + public String umaConfiguration(Model model) { + + Map m = new HashMap(); + + String issuer = config.getIssuer(); + ImmutableSet tokenProfiles = ImmutableSet.of("bearer"); + ArrayList grantTypes = Lists.newArrayList("authorization_code", "implicit", "urn:ietf:params:oauth:grant-type:jwt-bearer", "client_credentials", "urn:ietf:params:oauth:grant_type:redelegate"); + + m.put("version", "1.0"); + m.put("issuer", issuer); + m.put("pat_profiles_supported", tokenProfiles); + m.put("aat_profiles_supported", tokenProfiles); + m.put("rpt_profiles_supported", tokenProfiles); + m.put("pat_grant_types_supported", grantTypes); + m.put("aat_grant_types_supported", grantTypes); + m.put("claim_token_profiles_supported", ImmutableSet.of()); + m.put("uma_profiles_supported", ImmutableSet.of()); + m.put("dynamic_client_endpoint", issuer + DynamicClientRegistrationEndpoint.URL); + m.put("token_endpoint", issuer + "token"); + m.put("authorization_endpoint", issuer + "authorize"); + m.put("requesting_party_claims_endpoint", issuer + ClaimsCollectionEndpoint.URL); + m.put("introspection_endpoint", issuer + IntrospectionEndpoint.URL); + m.put("resource_set_registration_endpoint", issuer + ResourceSetRegistrationEndpoint.DISCOVERY_URL); + m.put("permission_registration_endpoint", issuer + PermissionRegistrationEndpoint.URL); + m.put("rpt_endpoint", issuer + AuthorizationRequestEndpoint.URL); + + + + model.addAttribute("entity", m); + return JsonEntityView.VIEWNAME; + } + + +} diff --git a/openid-connect-server/src/main/java/org/mitre/uma/web/UserClaimSearchHelper.java b/uma-server/src/main/java/org/mitre/uma/web/UserClaimSearchHelper.java similarity index 100% rename from openid-connect-server/src/main/java/org/mitre/uma/web/UserClaimSearchHelper.java rename to uma-server/src/main/java/org/mitre/uma/web/UserClaimSearchHelper.java diff --git a/openid-connect-server/src/test/java/org/mitre/uma/service/impl/TestDefaultPermissionService.java b/uma-server/src/test/java/org/mitre/uma/service/impl/TestDefaultPermissionService.java similarity index 100% rename from openid-connect-server/src/test/java/org/mitre/uma/service/impl/TestDefaultPermissionService.java rename to uma-server/src/test/java/org/mitre/uma/service/impl/TestDefaultPermissionService.java diff --git a/openid-connect-server/src/test/java/org/mitre/uma/service/impl/TestDefaultResourceSetService.java b/uma-server/src/test/java/org/mitre/uma/service/impl/TestDefaultResourceSetService.java similarity index 100% rename from openid-connect-server/src/test/java/org/mitre/uma/service/impl/TestDefaultResourceSetService.java rename to uma-server/src/test/java/org/mitre/uma/service/impl/TestDefaultResourceSetService.java