From 455212cc89d7146fc9f4f0c4a24d0dd13109999d Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 19 Mar 2024 10:21:30 +0100
Subject: [PATCH] =?UTF-8?q?OZG-4383=20Saml=20Services=20von=20PROPERTY=5FA?=
 =?UTF-8?q?NTRAGSRAUM=5FURL=20abh=C3=A4nig=20gemacht?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../antragraum/Saml2Decrypter.java            |  2 ++
 .../nachrichten/antragraum/Saml2Parser.java   |  2 ++
 .../nachrichten/antragraum/Saml2Verifier.java |  2 ++
 src/main/resources/application-bayern.yaml    | 10 +---------
 src/test/resources/application-bayern.yaml    | 20 ++++++++++++-------
 5 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
index 41575e1..19bec49 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
@@ -40,6 +40,7 @@ import org.opensaml.xmlsec.encryption.support.InlineEncryptedKeyResolver;
 import org.opensaml.xmlsec.encryption.support.SimpleRetrievalMethodEncryptedKeyResolver;
 import org.opensaml.xmlsec.keyinfo.KeyInfoCredentialResolver;
 import org.opensaml.xmlsec.keyinfo.impl.CollectionKeyInfoCredentialResolver;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.security.saml2.Saml2Exception;
 import org.springframework.stereotype.Service;
 
@@ -47,6 +48,7 @@ import lombok.RequiredArgsConstructor;
 
 @Service
 @RequiredArgsConstructor
+@ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
 class Saml2Decrypter {
 	private final BayernIdSamlConfiguration configuration;
 
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
index e134f7e..bb27b73 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
@@ -30,6 +30,7 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.core.xml.io.UnmarshallingException;
 import org.opensaml.saml.saml2.core.Response;
 import org.opensaml.saml.saml2.core.impl.ResponseUnmarshaller;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.security.saml2.Saml2Exception;
 import org.springframework.stereotype.Service;
 
@@ -37,6 +38,7 @@ import lombok.RequiredArgsConstructor;
 import net.shibboleth.utilities.java.support.xml.XMLParserException;
 
 @Service
+@ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
 @RequiredArgsConstructor
 class Saml2Parser {
 	private final BayernIdSamlConfiguration configuration;
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
index 029f6a0..d63a397 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
@@ -28,6 +28,7 @@ import jakarta.annotation.PostConstruct;
 
 import org.opensaml.saml.security.impl.SAMLSignatureProfileValidator;
 import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.security.saml2.core.Saml2Error;
 import org.springframework.security.saml2.core.Saml2ErrorCodes;
 import org.springframework.stereotype.Service;
@@ -39,6 +40,7 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 @Log4j2
 @RequiredArgsConstructor
 @Service
+@ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
 class Saml2Verifier {
 	public static final String INVALID_SIGNATURE = "Invalid signature for object [%s]: ";
 	public static final String SIGNATURE_MISSING = "Signature missing";
diff --git a/src/main/resources/application-bayern.yaml b/src/main/resources/application-bayern.yaml
index 765940c..898a6a6 100644
--- a/src/main/resources/application-bayern.yaml
+++ b/src/main/resources/application-bayern.yaml
@@ -4,12 +4,4 @@ ozgcloud:
     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"
-  nachrichten-manager:
-    url: static://localhost:9091
-grpc:
-  client:
-    info-manager:
-      address: static://localhost:9091
-  server:
-    port: 9092
\ No newline at end of file
+    decryptionCertificate: "classpath:/bayernid/bayernid-test-enc.crt"
\ No newline at end of file
diff --git a/src/test/resources/application-bayern.yaml b/src/test/resources/application-bayern.yaml
index d6e6ed1..765940c 100644
--- a/src/test/resources/application-bayern.yaml
+++ b/src/test/resources/application-bayern.yaml
@@ -1,9 +1,15 @@
 ozgcloud:
   antragraum:
-    url: "https://antragsraum.de"
-    bayernid:
-      saml:
-        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
+    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"
+  nachrichten-manager:
+    url: static://localhost:9091
+grpc:
+  client:
+    info-manager:
+      address: static://localhost:9091
+  server:
+    port: 9092
\ No newline at end of file
-- 
GitLab