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