From e69c84cd667d2b903a90c2e25d1f01380d3566e4 Mon Sep 17 00:00:00 2001 From: yoon6yo Date: Sun, 12 Jul 2026 02:24:07 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20ubuntuPassword=20=EC=BB=AC=EB=9F=BC?= =?UTF-8?q?=EC=97=90=20base64=20=EA=B0=92=EC=9D=B4=20=EC=95=84=EB=8B=8C=20?= =?UTF-8?q?=ED=8F=89=EB=AC=B8=20=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 클라이언트가 base64 인코딩된 비밀번호를 전송하는데, toEntity()에서 ubuntuPassword(이메일 발송용)와 ubuntuPasswordBase64(SSH 인증용)에 동일한 base64 값을 넣어 이메일에 알아볼 수 없는 문자열이 발송되는 버그 수정. toEntity() 내에서 base64 디코딩해 ubuntuPassword에 평문 저장. Closes #334 --- .../domain/requests/dto/request/SaveRequestRequestDTO.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/DGU_AI_LAB/admin_be/domain/requests/dto/request/SaveRequestRequestDTO.java b/src/main/java/DGU_AI_LAB/admin_be/domain/requests/dto/request/SaveRequestRequestDTO.java index a23a5928..941c00f3 100644 --- a/src/main/java/DGU_AI_LAB/admin_be/domain/requests/dto/request/SaveRequestRequestDTO.java +++ b/src/main/java/DGU_AI_LAB/admin_be/domain/requests/dto/request/SaveRequestRequestDTO.java @@ -18,7 +18,9 @@ import jakarta.validation.constraints.Size; import lombok.Builder; +import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; +import java.util.Base64; import java.util.List; import java.util.Map; import java.util.Set; @@ -78,12 +80,15 @@ public Request toEntity( throw new BusinessException(ErrorCode.INVALID_INPUT_VALUE); } + // 클라이언트는 base64 인코딩된 값을 전송 — 평문은 디코딩해서 이메일 발송용으로 따로 보관 + String plainPassword = new String(Base64.getDecoder().decode(ubuntuPasswordBase64), StandardCharsets.UTF_8); + Request req = Request.builder() .user(user) .resourceGroup(resourceGroup) .containerImage(image) .ubuntuUsername(ubuntuUsername) - .ubuntuPassword(ubuntuPasswordBase64) + .ubuntuPassword(plainPassword) .ubuntuPasswordBase64(ubuntuPasswordBase64) .volumeSizeGiB(volumeSizeGiB) .usagePurpose(usagePurpose)