From dd73f9e23fe8ea8700e8ce3b25b35fedb6a751a1 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 21 Jul 2023 16:04:42 +0200
Subject: [PATCH] OZG-3961 OZG-4082 decode password after recieving secret

---
 .../keycloak/user/KeycloakUserRemoteService.java   | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
index 48966b2..ae3f4b6 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserRemoteService.java
@@ -118,7 +118,7 @@ class KeycloakUserRemoteService {
 	// PoC
 	public String createSecret(OzgKeycloakUserSpec userSpec, String createdNamespace) {
 		log.log(Level.INFO, "Create secret for user: " + userSpec.getKeycloakUser().getUsername());
-		var secretName = userSpec.getKeycloakUser().getUsername() + "-credentials";
+		var secretName = userSpec.getKeycloakUser().getUsername().toLowerCase() + "-credentials";
 
 		var namespace = "keycloak";
 		var secret = getSecret(secretName, namespace);
@@ -152,18 +152,20 @@ class KeycloakUserRemoteService {
 		return new SecretBuilder()
 				.withType("Opaque")
 				.withMetadata(metadata)
-//				.addToStringData(SECRET_PASSWORD_FIELD, encodeString("Y9nk43yrQ_zzIPpfFU-I"))
 				.addToStringData(SECRET_PASSWORD_FIELD, "123Test")
 				.addToStringData(SECRET_NAME_FIELD, name)
 				.build();
 	}
 
-	public String encodeString(String str) {
-		return new String(Base64.getEncoder().encodeToString(str.getBytes()));
+	private String getPassword(Resource<Secret> secret) {
+		return decodeBase64(secret.get().getData().get(SECRET_PASSWORD_FIELD));
 	}
 
-	private String getPassword(Resource<Secret> secret) {
-		return secret.get().getData().get(SECRET_PASSWORD_FIELD);
+	String decodeBase64(String base64String) {
+		log.log(Level.INFO, "base64String to decode: " + base64String);
+		var decoded = Base64.getDecoder().decode(base64String);
+		log.log(Level.INFO, "decoded string: " + decoded);
+		return new String(decoded);
 	}
 	//
 }
\ No newline at end of file
-- 
GitLab