improvement: InMemoryTokenStore를 Redis 기반으로 교체 (#162) #163

Merged
seonkyu.kim merged 1 commits from improvement/#162-redis-token-store into develop 2026-02-11 02:23:11 +00:00
Owner

📋 작업 요약

  • ITokenStore 구현체를 InMemoryTokenStore(MemoryCache)에서 RedisTokenStore(Redis)로 교체
  • 서버 재시작 시 토큰 소멸 문제 해결, 다중 인스턴스 환경 지원

Closes #162

🛠️ 작업 내용 (Changes)

  • SPMS.Infrastructure/Caching/RedisTokenStore.cs — 신규, ITokenStore Redis 구현 (기존 RedisConnection 활용)
  • SPMS.Infrastructure/DependencyInjection.cs — DI 등록 변경 (InMemoryTokenStore → RedisTokenStore), AddMemoryCache() 제거

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

  • Redis 키 형식: {instanceName}token:{key} (예: spms_dev_token:password_reset:user@email.com)
  • Redis 장애 시 예외를 throw하여 호출측에서 에러 처리하도록 설계 (TokenCacheService와 달리 토큰 저장은 실패 시 무시하면 안 됨)
  • InMemoryTokenStore.cs는 삭제하지 않고 유지 (향후 Redis 미사용 환경 대비)

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - ITokenStore 구현체를 InMemoryTokenStore(MemoryCache)에서 RedisTokenStore(Redis)로 교체 - 서버 재시작 시 토큰 소멸 문제 해결, 다중 인스턴스 환경 지원 ## 🔗 관련 이슈 (Related Issues) Closes #162 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Infrastructure/Caching/RedisTokenStore.cs` — 신규, ITokenStore Redis 구현 (기존 RedisConnection 활용) - [x] `SPMS.Infrastructure/DependencyInjection.cs` — DI 등록 변경 (InMemoryTokenStore → RedisTokenStore), AddMemoryCache() 제거 ## 📢 리뷰어 참고 사항 (To Reviewers) - Redis 키 형식: `{instanceName}token:{key}` (예: `spms_dev_token:password_reset:user@email.com`) - Redis 장애 시 예외를 throw하여 호출측에서 에러 처리하도록 설계 (TokenCacheService와 달리 토큰 저장은 실패 시 무시하면 안 됨) - InMemoryTokenStore.cs는 삭제하지 않고 유지 (향후 Redis 미사용 환경 대비) ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 ```
seonkyu.kim added this to the Phase 3-2: 통계 & Webhook & 배치 milestone 2026-02-11 02:21:51 +00:00
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-11 02:21:51 +00:00
seonkyu.kim added 1 commit 2026-02-11 02:21:55 +00:00
- RedisTokenStore 구현 (ITokenStore, Redis StringSet/Get/KeyDelete)
- DI 등록 변경 (InMemoryTokenStore → RedisTokenStore)
- AddMemoryCache() 제거 (더 이상 사용처 없음)

Closes #162
seonkyu.kim self-assigned this 2026-02-11 02:22:15 +00:00
seonkyu.kim requested review from Owners 2026-02-11 02:22:23 +00:00
seonkyu.kim merged commit febd6f6da0 into develop 2026-02-11 02:23:11 +00:00
seonkyu.kim deleted branch improvement/#162-redis-token-store 2026-02-11 02:23:49 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-11 02:24:10 +00:00
Sign in to join this conversation.
No description provided.