From 274218df205fca9534e9fff146f371297a4a39ae Mon Sep 17 00:00:00 2001 From: chasegawa Date: Thu, 6 Jul 2023 16:34:23 -0700 Subject: [PATCH] SHIBUI-2581 Remove validUntil from the EntityDescriptor (by default) XML uploads --- .../shibboleth/admin/ui/domain/AbstractDescriptor.java | 2 +- .../admin/ui/service/JPAEntityDescriptorServiceImpl.java | 9 +++++++++ backend/src/main/resources/application.properties | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractDescriptor.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractDescriptor.java index ee9747bd9..fd08c2f6e 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractDescriptor.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/AbstractDescriptor.java @@ -63,7 +63,7 @@ public Instant getValidUntil() { @Override public void setValidUntil(Instant validUntilInstant) { - this.validUntil = new DateTime(validUntilInstant.toEpochMilli()); + this.validUntil = validUntilInstant == null ? null : new DateTime(validUntilInstant.toEpochMilli()); } @Override 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 93a1dbce6..695b03036 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 @@ -48,6 +48,7 @@ import org.opensaml.xmlsec.signature.KeyName; import org.opensaml.xmlsec.signature.KeyValue; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -90,6 +91,9 @@ public class JPAEntityDescriptorServiceImpl implements EntityDescriptorService { @Autowired private UserService userService; + @Value("${shibui.remove.EntityDescriptor.validUntil:true}") + private Boolean removeValidUntil; + private EntityDescriptor buildDescriptorFromRepresentation(final EntityDescriptor ed, final EntityDescriptorRepresentation representation) { ed.setEntityID(representation.getEntityId()); ed.setIdOfOwner(representation.getIdOfOwner()); @@ -273,6 +277,11 @@ public EntityDescriptorRepresentation createNewEntityDescriptorFromXMLOrigin(Ent userService.getCurrentUserGroup().getApproversList().isEmpty()) { ed.setApproved(true); } + + if (removeValidUntil) { + ed.setValidUntil(null); + } + EntityDescriptor savedEntity = entityDescriptorRepository.save(ed); return createRepresentationFromDescriptor(savedEntity); } diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index 61430612c..14f726125 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -133,4 +133,7 @@ springdoc.pathsToMatch=/entities, /api/** management.endpoints.web.exposure.include=openapi, swagger-ui, info, health management.server.port=9090 management.endpoints.web.cors.allowed-origins=* -management.endpoints.web.cors.allowed-headers=* \ No newline at end of file +management.endpoints.web.cors.allowed-headers=* + +# When true, this will remove the validUntil attribute for an EntityDescriptor uploaded from XML source, only set to false if you want the XML uploaded as is +# shibui.remove.EntityDescriptor.validUntil=true \ No newline at end of file