[Feature] 이메일 인증 인프라 + API (#14) #64

Closed
opened 2026-02-10 01:50:20 +00:00 by seonkyu.kim · 0 comments
Owner

설명

이메일 인증 인프라(ITokenStore, IEmailService)와 이메일 인증 API를 구현한다.

  • API_Specification.md §2.3 Auth API 참조
  • API_SPMS_02_AUTH_03 (이메일 인증)
  • 이메일 발송: 콘솔 로그로 대체 (향후 SMTP 서비스 연동)
  • 토큰 저장: IMemoryCache 사용 (향후 Redis로 교체)

엔드포인트

  • POST /v1/in/auth/email/verify — 이메일 인증 [AllowAnonymous]

구현 체크리스트

Application Layer (인터페이스)

  • ITokenStore.cs — StoreAsync, GetAsync, RemoveAsync
  • IEmailService.cs — SendVerificationCodeAsync, SendPasswordResetTokenAsync

Infrastructure Layer (구현체)

  • InMemoryTokenStore.cs — IMemoryCache 기반 구현
  • ConsoleEmailService.cs — ILogger로 콘솔 출력
  • DependencyInjection.cs — DI 등록

Application Layer (비즈니스 로직)

  • EmailVerifyRequestDto.cs — 요청 DTO (email, code)
  • IAuthService.cs — VerifyEmailAsync 추가
  • AuthService.cs — SignupAsync에 인증코드 생성/저장/발송 추가, VerifyEmailAsync 구현

API Layer

  • AuthController.cs — email/verify 엔드포인트 추가

검증

  • dotnet build 성공
  • Swagger 엔드포인트 확인
## 설명 이메일 인증 인프라(ITokenStore, IEmailService)와 이메일 인증 API를 구현한다. - API_Specification.md §2.3 Auth API 참조 - `API_SPMS_02_AUTH_03` (이메일 인증) - 이메일 발송: 콘솔 로그로 대체 (향후 SMTP 서비스 연동) - 토큰 저장: IMemoryCache 사용 (향후 Redis로 교체) ## 엔드포인트 - `POST /v1/in/auth/email/verify` — 이메일 인증 [AllowAnonymous] ## 구현 체크리스트 ### Application Layer (인터페이스) - [x] `ITokenStore.cs` — StoreAsync, GetAsync, RemoveAsync - [x] `IEmailService.cs` — SendVerificationCodeAsync, SendPasswordResetTokenAsync ### Infrastructure Layer (구현체) - [x] `InMemoryTokenStore.cs` — IMemoryCache 기반 구현 - [x] `ConsoleEmailService.cs` — ILogger로 콘솔 출력 - [x] `DependencyInjection.cs` — DI 등록 ### Application Layer (비즈니스 로직) - [x] `EmailVerifyRequestDto.cs` — 요청 DTO (email, code) - [x] `IAuthService.cs` — VerifyEmailAsync 추가 - [x] `AuthService.cs` — SignupAsync에 인증코드 생성/저장/발송 추가, VerifyEmailAsync 구현 ### API Layer - [x] `AuthController.cs` — email/verify 엔드포인트 추가 ### 검증 - [x] `dotnet build` 성공 - [x] Swagger 엔드포인트 확인
seonkyu.kim added the
Priority
Medium
Status
Available
Type
Feature
labels 2026-02-10 01:50:26 +00:00
seonkyu.kim self-assigned this 2026-02-10 01:50:29 +00:00
seonkyu.kim added this to the Phase 2-1: 인증 & 계정 & 서비스 API milestone 2026-02-10 01:50:29 +00:00
seonkyu.kim added
Status
Done
and removed
Status
Available
labels 2026-02-10 02:10:07 +00:00
Sign in to join this conversation.
No description provided.