From 904c61103966d437168c597acf1027ce4f34929b Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 4 Oct 2022 11:50:41 -0700 Subject: [PATCH] SHIBUI-2380/2410 Fixing copy issues --- .../admin/ui/service/JPAEntityDescriptorServiceImpl.java | 5 ++++- .../admin/util/EntityDescriptorConversionUtils.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index 4973ca110..b2b264a7a 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -99,7 +99,7 @@ private EntityDescriptor buildDescriptorFromRepresentation(final EntityDescripto setupLogout(ed, representation); setupRelyingPartyOverrides(ed, representation); - if (ed.getProtocol() == EntityDescriptorProtocol.OIDC) { + if (ed.getProtocol() == EntityDescriptorProtocol.OIDC && ed.getSPSSODescriptor("") != null) { ed.getSPSSODescriptor("").addSupportedProtocol("http://openid.net/specs/openid-connect-core-1_0.html"); } //Let envers recognize update revision type for EntityDescriptor type @@ -114,6 +114,9 @@ private EntityDescriptor buildDescriptorFromRepresentation(final EntityDescripto */ private Map buildOAuthRPExtensionsMap(EntityDescriptor ed) { HashMap result = new HashMap<>(); + if (!ed.getSPSSODescriptor("").getOptionalExtensions().isPresent()) { + return result; + } for(XMLObject extension : ed.getSPSSODescriptor("").getExtensions().getOrderedChildren()) { if (extension.getElementQName().getLocalPart().equals(OAuthRPExtensions.TYPE_LOCAL_NAME)){ OAuthRPExtensions oAuthRPExtensions = (OAuthRPExtensions) extension; diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/EntityDescriptorConversionUtils.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/EntityDescriptorConversionUtils.java index 1a44ba44d..c9386399b 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/EntityDescriptorConversionUtils.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/util/EntityDescriptorConversionUtils.java @@ -331,7 +331,7 @@ public static void setupSPSSODescriptor(EntityDescriptor ed, EntityDescriptorRep SPSSODescriptor spssoDescriptor = getSPSSODescriptorFromEntityDescriptor(ed); spssoDescriptor.setSupportedProtocols(new ArrayList<>()); - if (!Strings.isNullOrEmpty(representation.getServiceProviderSsoDescriptor().getProtocolSupportEnum())) { + if (representation.getServiceProviderSsoDescriptor() != null && !Strings.isNullOrEmpty(representation.getServiceProviderSsoDescriptor().getProtocolSupportEnum())) { spssoDescriptor.setSupportedProtocols( Arrays.stream(representation.getServiceProviderSsoDescriptor().getProtocolSupportEnum().split(",")).map(p -> MDDCConstants.PROTOCOL_BINDINGS.get(p.trim())).collect(Collectors.toList()) ); @@ -347,7 +347,7 @@ public static void setupSPSSODescriptor(EntityDescriptor ed, EntityDescriptorRep } // Setup Extensions - if (representation.getProtocol() == EntityDescriptorProtocol.OIDC) { + if (representation.getProtocol() == EntityDescriptorProtocol.OIDC && representation.getServiceProviderSsoDescriptor(false) != null) { spssoDescriptor.setExtensions(buildOAuthRPExtensionsFromRepresentation(representation.getServiceProviderSsoDescriptor(false))); } } else {