improvement: API Key 마스킹 및 전체 조회 엔드포인트 추가 (#220) #221

Merged
seonkyu.kim merged 1 commits from improvement/#220-apikey-policy into develop 2026-02-25 04:58:12 +00:00
Owner

📋 작업 요약

  • 상세 조회 시 API Key 마스킹 (앞 8자 + ********)
  • API Key 전체 조회 엔드포인트 신규 (POST /{serviceCode}/apikey/view)
  • 기존 재발급 엔드포인트 (apikey/refresh) 유지
  • Swagger Description 업데이트

Closes #220

🛠️ 작업 내용 (Changes)

  • SPMS.Application/Interfaces/IServiceManagementService.cs — ViewApiKeyAsync 인터페이스 추가
  • SPMS.Application/Services/ServiceManagementService.cs — MaskApiKey 헬퍼 추가, MapToDto에서 마스킹 적용, ViewApiKeyAsync 구현
  • SPMS.API/Controllers/ServiceController.cs — apikey/view 엔드포인트 추가, 상세 조회 Swagger Description에 마스킹 설명 추가

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

  • 마스킹 규칙: 앞 8자 노출 + ******** (8자 미만이면 전체 마스킹)
  • apikey/view는 키 회전 없이 현재 키를 반환 (refresh와 역할 분리)
  • 등록(create/register) 응답에서는 전체 키 노출 유지 (최초 1회 노출 정책)

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

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

빌드 성공: 경고 0개, 오류 0개

## 📋 작업 요약 - 상세 조회 시 API Key 마스킹 (앞 8자 + `********`) - API Key 전체 조회 엔드포인트 신규 (`POST /{serviceCode}/apikey/view`) - 기존 재발급 엔드포인트 (`apikey/refresh`) 유지 - Swagger Description 업데이트 ## 🔗 관련 이슈 (Related Issues) Closes #220 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application/Interfaces/IServiceManagementService.cs` — ViewApiKeyAsync 인터페이스 추가 - [x] `SPMS.Application/Services/ServiceManagementService.cs` — MaskApiKey 헬퍼 추가, MapToDto에서 마스킹 적용, ViewApiKeyAsync 구현 - [x] `SPMS.API/Controllers/ServiceController.cs` — apikey/view 엔드포인트 추가, 상세 조회 Swagger Description에 마스킹 설명 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - 마스킹 규칙: 앞 8자 노출 + `********` (8자 미만이면 전체 마스킹) - `apikey/view`는 키 회전 없이 현재 키를 반환 (refresh와 역할 분리) - 등록(create/register) 응답에서는 전체 키 노출 유지 (최초 1회 노출 정책) ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) 빌드 성공: 경고 0개, 오류 0개
seonkyu.kim added 1 commit 2026-02-25 04:57:27 +00:00
- 상세 조회 시 API Key 마스킹 (앞 8자 + ********)
- API Key 전체 조회 엔드포인트 신규 (apikey/view)
- 기존 재발급 엔드포인트 (apikey/refresh) 유지
- Swagger Description 업데이트

Closes #220
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-25 04:57:38 +00:00
seonkyu.kim self-assigned this 2026-02-25 04:57:40 +00:00
seonkyu.kim added this to the Phase 1: 서비스 도메인 milestone 2026-02-25 04:57:44 +00:00
seonkyu.kim requested review from Owners 2026-02-25 04:57:51 +00:00
seonkyu.kim merged commit fecd322763 into develop 2026-02-25 04:58:12 +00:00
seonkyu.kim deleted branch improvement/#220-apikey-policy 2026-02-25 04:58:29 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-25 04:59:42 +00:00
Sign in to join this conversation.
No description provided.