From 2682f1eec6e7732be3f9354dfb258ff01da4a1c9 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 15 May 2024 10:42:56 +0200 Subject: [PATCH] OZG-5682 fix configuration for antragraum --- nachrichten-manager-server/pom.xml | 2 +- .../nachrichten/NachrichtenManagerProperties.java | 5 ++++- .../nachrichten/antragraum/AntragraumProperties.java | 3 +++ .../nachrichten/antragraum/AntragraumService.java | 5 +++-- .../antragraum/BayernIdSamlConfiguration.java | 2 +- .../de/ozgcloud/nachrichten/antragraum/Saml2Parser.java | 3 ++- .../ozgcloud/nachrichten/antragraum/Saml2Verifier.java | 2 ++ .../de/ozgcloud/nachrichten/info/InfoManagerService.java | 2 +- .../src/main/resources/application-bayernlocal.yaml | 9 +++++++-- .../nachrichten/info/InfoManagerServiceTest.java | 2 +- 10 files changed, 25 insertions(+), 10 deletions(-) diff --git a/nachrichten-manager-server/pom.xml b/nachrichten-manager-server/pom.xml index 176ffd1..50a6750 100644 --- a/nachrichten-manager-server/pom.xml +++ b/nachrichten-manager-server/pom.xml @@ -49,7 +49,7 @@ </properties> <dependencies> - <dependency> + <dependency> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-base</artifactId> <version>${vorgang-manager.version}</version> diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java index 0592f80..a2ff759 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java @@ -12,5 +12,8 @@ import lombok.Setter; @Getter public class NachrichtenManagerProperties { - private String url; + /** + * URL of Nachrichten Manager instance + */ + private String address; } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java index 9db391f..d555e3d 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java @@ -55,14 +55,17 @@ public class AntragraumProperties { /** * The uri where to load the idp Metadata from */ + @NotEmpty private Resource metadataUri; /** * The location of the private key for decrypting the saml token data */ + @NotEmpty private Resource decryptionPrivateKey; /** * The location of the certificate for decrypting the saml token data */ + @NotEmpty private Resource decryptionCertificate; } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java index 7fa151a..8fb23a4 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java @@ -27,6 +27,8 @@ import static java.util.Objects.*; import java.util.stream.Stream; +import jakarta.annotation.PostConstruct; + import org.apache.commons.collections.CollectionUtils; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; @@ -34,7 +36,6 @@ import org.springframework.stereotype.Service; import de.ozgcloud.nachrichten.NachrichtenManagerProperties; import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; -import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; @Service @@ -65,7 +66,7 @@ public class AntragraumService { @PostConstruct void init() { - if (isNull(nachrichtenManagerProperties.getUrl())) { + if (isNull(nachrichtenManagerProperties.getAddress())) { throw new IllegalStateException("Address of Nachrichten-Manager is not set"); } } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java index 0961155..44055f5 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java @@ -84,7 +84,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException; class BayernIdSamlConfiguration { private XMLObjectProviderRegistry registry; @Getter - private ParserPool parserPool; + private ParserPool parserPool; // TODO als spring bean bereit stellen @Autowired private AntragraumProperties antragraumProperties; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java index fa23252..c40da9d 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java @@ -45,7 +45,8 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException; @ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL) @RequiredArgsConstructor class Saml2Parser { - private final BayernIdSamlConfiguration configuration; + private final BayernIdSamlConfiguration configuration; // TODO eine Configuration sollte nicht als Bean injeziert werden + // TODO als Spring Bean bereit stellen private ResponseUnmarshaller unmarshaller; Response parse(String request) { diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java index e8cdf4d..a583a0e 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java @@ -48,8 +48,10 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet; class Saml2Verifier { public static final String INVALID_SIGNATURE = "Invalid signature for object [%s]: "; public static final String SIGNATURE_MISSING = "Signature missing"; + private final Saml2Parser parser; private final BayernIdSamlConfiguration configuration; + private SignatureTrustEngine trustEngine; private CriteriaSet verificationCriteria; diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java index 0894f26..2c370e0 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java @@ -29,7 +29,7 @@ public class InfoManagerService { .nachrichtId(postfachNachricht.getId()) .vorgangId(postfachNachricht.getVorgangId()) .postfachId(postfachNachricht.getPostfachId()) - .nachrichtenManagerUrl(nachrichtenManagerProperties.getUrl()) + .nachrichtenManagerUrl(nachrichtenManagerProperties.getAddress()) .build(); } } diff --git a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml index 898a6a6..f93f13a 100644 --- a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml +++ b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml @@ -3,5 +3,10 @@ ozgcloud: url: https://dev.antragsraum.de/ entityId: https://antragsraum.ozgcloud.de/ metadataUri: "classpath:/bayernid/metadata/bayernid-idp-infra.xml" - decryptionPrivateKey: "classpath:/bayernid/bayernid-test-enc.key" - decryptionCertificate: "classpath:/bayernid/bayernid-test-enc.crt" \ No newline at end of file + decryptionPrivateKey: "classpath:/bayernid/bayernid-dev-enc.key" + decryptionCertificate: "classpath:/bayernid/bayernid-dev-enc.crt" + +grpc: + client: + info-manager: + address: infomanager.local \ No newline at end of file diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java index 95e41db..d7d149a 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java @@ -88,7 +88,7 @@ class InfoManagerServiceTest { @Test void shouldSetNachrichtenManagerUrl() { - when(nachrichtenManagerProperties.getUrl()).thenReturn(NACHRICHTEN_MANAGER_URL); + when(nachrichtenManagerProperties.getAddress()).thenReturn(NACHRICHTEN_MANAGER_URL); var request = buildInfomanagerNachricht(); -- GitLab