feat: API Key 재발급 API 구현 (#46) #47

Merged
seonkyu.kim merged 1 commits from feature/#46-api-key-refresh into develop 2026-02-09 15:16:23 +00:00
Owner

📋 작업 요약

서비스의 API Key를 재발급하는 API를 구현합니다. (SEC-02)

Closes #46

🛠️ 작업 내용 (Changes)

Application Layer

  • ApiKeyRefreshResponseDto.cs — 재발급 응답 DTO (ServiceCode, ApiKey, ApiKeyCreatedAt)
  • IServiceManagementService.cs — RefreshApiKeyAsync 메서드 추가
  • ServiceManagementService.cs — API Key 재발급 로직 구현
    • RandomNumberGenerator로 36바이트 랜덤 데이터 생성
    • Base64 인코딩으로 48자 API Key 생성
    • 기존 키 즉시 무효화 (덮어쓰기)

API Layer

  • ServiceController.csPOST /v1/in/service/{serviceCode}/apikey/refresh 엔드포인트

📢 리뷰어 참고 사항 (To Reviewers)

  • SEC-01(발급)은 서비스 등록(SVC-01) 시 자동 처리될 예정
  • 이 PR은 SEC-02(재발급)만 구현
  • 평문 API Key는 응답에서 1회만 노출됨

체크리스트 (Self Checklist)

  • 빌드 성공 확인
  • 32~64자 랜덤 키 생성 (48자)
  • Super Admin 권한 체크
  • Swagger 어노테이션 적용

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

POST /v1/in/service/{serviceCode}/apikey/refresh
→ 200 OK { result: true, code: "000", data: { serviceCode, apiKey, apiKeyCreatedAt } }
## 📋 작업 요약 서비스의 API Key를 재발급하는 API를 구현합니다. (SEC-02) ## 🔗 관련 이슈 (Related Issues) Closes #46 ## 🛠️ 작업 내용 (Changes) ### Application Layer - `ApiKeyRefreshResponseDto.cs` — 재발급 응답 DTO (ServiceCode, ApiKey, ApiKeyCreatedAt) - `IServiceManagementService.cs` — RefreshApiKeyAsync 메서드 추가 - `ServiceManagementService.cs` — API Key 재발급 로직 구현 - RandomNumberGenerator로 36바이트 랜덤 데이터 생성 - Base64 인코딩으로 48자 API Key 생성 - 기존 키 즉시 무효화 (덮어쓰기) ### API Layer - `ServiceController.cs` — `POST /v1/in/service/{serviceCode}/apikey/refresh` 엔드포인트 ## 📢 리뷰어 참고 사항 (To Reviewers) - SEC-01(발급)은 서비스 등록(SVC-01) 시 자동 처리될 예정 - 이 PR은 SEC-02(재발급)만 구현 - 평문 API Key는 응답에서 1회만 노출됨 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드 성공 확인 - [x] 32~64자 랜덤 키 생성 (48자) - [x] Super Admin 권한 체크 - [x] Swagger 어노테이션 적용 ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` POST /v1/in/service/{serviceCode}/apikey/refresh → 200 OK { result: true, code: "000", data: { serviceCode, apiKey, apiKeyCreatedAt } } ```
seonkyu.kim added 1 commit 2026-02-09 15:15:31 +00:00
- ApiKeyRefreshResponseDto 추가
- IServiceManagementService.RefreshApiKeyAsync 인터페이스 추가
- ServiceManagementService.RefreshApiKeyAsync 구현 (32~64자 랜덤 키 생성)
- ServiceController.RefreshApiKeyAsync 엔드포인트 추가
seonkyu.kim added the
Priority
High
Status
In Progress
Type
Feature
labels 2026-02-09 15:15:44 +00:00
seonkyu.kim added this to the Phase 2-1: 인증 & 계정 & 서비스 API milestone 2026-02-09 15:15:48 +00:00
seonkyu.kim self-assigned this 2026-02-09 15:15:53 +00:00
seonkyu.kim requested review from Owners 2026-02-09 15:15:59 +00:00
seonkyu.kim merged commit 3b4b1873a3 into develop 2026-02-09 15:16:23 +00:00
seonkyu.kim deleted branch feature/#46-api-key-refresh 2026-02-09 15:16:41 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-09 15:17:02 +00:00
Sign in to join this conversation.
No description provided.