feat(security): ToolSecurityContext 및 KMS 복호화 공통 모듈 추가
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 2m18s

This commit is contained in:
jade
2026-08-03 13:45:16 +09:00
parent d858f2ab90
commit cf958622bd
4 changed files with 125 additions and 0 deletions

View File

@@ -4,6 +4,8 @@ import io.shinhanlife.dap.mcc.biz.smp.dto.DailyQuoteRequest;
import io.shinhanlife.dap.mcc.biz.smp.dto.DailyQuoteResponse;
import io.shinhanlife.dap.mcc.biz.smp.usecase.DailyQuoteToolUseCase;
import io.shinhanlife.dap.mcc.usecase.AbstractMcpToolUseCase;
import io.shinhanlife.dap.lib.security.ToolSecurityContext;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -26,8 +28,11 @@ import java.util.Random;
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class DailyQuoteToolUseCaseImpl extends AbstractMcpToolUseCase implements DailyQuoteToolUseCase {
private final ToolSecurityContext securityContext;
private final List<DailyQuoteResponse> quotes = List.of(
new DailyQuoteResponse("성공은 매일 반복한 작은 노력들의 합이다.", "로버트 콜리어"),
new DailyQuoteResponse("시작이 반이다.", "아리스토텔레스"),
@@ -37,6 +42,11 @@ public class DailyQuoteToolUseCaseImpl extends AbstractMcpToolUseCase implements
@Override
public DailyQuoteResponse execute(DailyQuoteRequest req) {
// =====================================================================
// 💡 4. 단 한 줄로 헤더에서 사번을 추출하고 KMS 복호화까지 완료된 값 꺼내기!
String userId = securityContext.getCurrentUserId();
// =====================================================================
int index = new Random().nextInt(quotes.size());
DailyQuoteResponse selected = quotes.get(index);