From d69bce943bd2fb860181f8ef210f84bf2748cd5b Mon Sep 17 00:00:00 2001 From: chasegawa Date: Wed, 26 Oct 2022 15:39:05 -0700 Subject: [PATCH] SHIBUI-2380 Changes per code review --- .../admin/ui/domain/EntityDescriptor.java | 24 ++++++++++++++++++- .../JPAEntityDescriptorServiceImpl.java | 8 +++---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptor.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptor.java index 65cc39c92..40093ba8c 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptor.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptor.java @@ -304,7 +304,6 @@ public void setVersionModifiedTimestamp(Long versionModifiedTimestamp) { public String toString() { return MoreObjects.toStringHelper(this) .add("entityID", entityID) - // .add("organization", organization) .add("id", id) .toString(); } @@ -320,4 +319,27 @@ public OwnableType getOwnableType() { @Override public ActivatableType getActivatableType() { return ENTITY_DESCRIPTOR; } + + @JsonIgnore + public boolean wantsAssertionsSigned() { + SPSSODescriptor spssoDescriptor = getSPSSODescriptor(""); + return spssoDescriptor != null && spssoDescriptor.getWantAssertionsSigned() != null && spssoDescriptor.getWantAssertionsSigned(); + } + + @JsonIgnore + public boolean isAuthnRequestsSigned() { + SPSSODescriptor spssoDescriptor = getSPSSODescriptor(""); + return spssoDescriptor != null && spssoDescriptor.isAuthnRequestsSigned() != null && spssoDescriptor.isAuthnRequestsSigned(); + } + + @JsonIgnore + public boolean isOidcProtocol() { + return getSPSSODescriptor("") != null && getProtocol() == EntityDescriptorProtocol.OIDC; + } + + @JsonIgnore + public boolean hasKeyDescriptors() { + SPSSODescriptor spssoDescriptor = getSPSSODescriptor(""); + return spssoDescriptor != null && spssoDescriptor.getKeyDescriptors().size() > 0; + } } \ No newline at end of file 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 7bf2b25b3..4a94fa105 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 @@ -264,7 +264,7 @@ public EntityDescriptorRepresentation createRepresentationFromDescriptor(org.ope ); } - if (ed.getSPSSODescriptor("") != null && ed.getProtocol() == EntityDescriptorProtocol.OIDC) { + if (ed.isOidcProtocol()) { ServiceProviderSsoDescriptorRepresentation serviceProviderSsoDescriptorRepresentation = representation.getServiceProviderSsoDescriptor(true); serviceProviderSsoDescriptorRepresentation.addExtensions("OAuthRPExtensions", buildOAuthRPExtensionsMap(ed)); } @@ -480,14 +480,14 @@ public Map getRelyingPartyOverridesRepresentationFromAttributeLi private void setupSecurityRepresentationFromEntityDescriptor(EntityDescriptor ed, EntityDescriptorRepresentation representation) { SecurityInfoRepresentation securityInfoRepresentation = representation.getSecurityInfo(); - if (ed.getSPSSODescriptor("") != null && ed.getSPSSODescriptor("").getWantAssertionsSigned() != null && ed.getSPSSODescriptor("").getWantAssertionsSigned()) { + if (ed.wantsAssertionsSigned()) { if (securityInfoRepresentation == null) { securityInfoRepresentation = new SecurityInfoRepresentation(); representation.setSecurityInfo(securityInfoRepresentation); } securityInfoRepresentation.setWantAssertionsSigned(true); } - if (ed.getSPSSODescriptor("") != null && ed.getSPSSODescriptor("").isAuthnRequestsSigned() != null && ed.getSPSSODescriptor("").isAuthnRequestsSigned()) { + if (ed.isAuthnRequestsSigned()) { if (securityInfoRepresentation == null) { securityInfoRepresentation = new SecurityInfoRepresentation(); representation.setSecurityInfo(securityInfoRepresentation); @@ -496,7 +496,7 @@ private void setupSecurityRepresentationFromEntityDescriptor(EntityDescriptor ed } // If the EntityDescriptor has key descriptors - parse them out. - if (ed.getSPSSODescriptor("") != null && ed.getSPSSODescriptor("").getKeyDescriptors().size() > 0) { + if (ed.hasKeyDescriptors()) { if (securityInfoRepresentation == null) { securityInfoRepresentation = new SecurityInfoRepresentation(); representation.setSecurityInfo(securityInfoRepresentation);