Summary
Identity 서비스의 테스트, JWT 발급 유틸, 예외 처리, 도메인 모델, API 10개를 구현합니다.
Problem / Motivation
실제 인증 및 사용자 정보 제공 서비스로 동작하려면 Controller 검증을 위한 테스트, JWT 발급/재발급 기반, 공통 예외 처리, 순수 도메인 모델, API 명세에 정의된 10개 엔드포인트 구현이 필요합니다.
요구사항 상 access token은 2시간, refresh token은 7일 만료되어야 하며, 두 토큰 모두 HttpOnly 쿠키로 브라우저에 전달되어야 합니다. 또한 applications 관련 API는 application service 데이터를 복사한 조회 모델을 사용하고, 이벤트 수신 시 해당 데이터를 갱신할 수 있어야 합니다.
Proposed Solution
-
테스트 코드 작성
- Controller 테스트 코드를 작성합니다.
- Service 테스트 코드를 작성합니다.
- 그 외 테스트는 후속 작업으로 분리합니다.
-
JWT 발급 유틸 개발
- access token 만료 시간을 2시간으로 설정합니다.
- refresh token 만료 시간을 7일로 설정합니다.
- 토큰을 HttpOnly 쿠키로 내려보낼 수 있는 응답 유틸 또는 어댑터 흐름을 구성합니다.
-
ErrorCode 및 Exception Handler 작성
- API 명세의 에러 코드를 기준으로 ErrorCode를 정의합니다.
- 공통 Exception Handler를 추가해 표준 에러 응답을 반환합니다.
-
순수 도메인 모델 정의
- account, student profile, pass verification 등 Identity 핵심 도메인 모델을 정의합니다.
- 도메인 모델은 프레임워크 의존성을 피하고 핵심 상태와 행위를 표현합니다.
-
API 10개 구현
- 유저 회원가입 API (
POST /auth/signup)
- 유저 로그인 API (
POST /auth/login)
- 유저 로그아웃 API (
POST /auth/logout)
- 토큰 갱신 API (
POST /auth/token)
- 비밀번호 재설정 API (
PATCH /auth/password-reset)
- 회원탈퇴 API (
DELETE /accounts/me)
- 기본 정보 조회 API (
GET /accounts/me)
- 지원 상태 조회 API (
GET /applications/status)
- 합격 여부 조회 API (
GET /applications/result)
- 원서 제출 취소 API (
PATCH /applications/cancellation)
Scope
-
In scope:
systems/identity 멀티모듈 내부 구현
- Controller, Port, Service, domain, exception, JWT 유틸, 테스트 코드
-
Out of scope:
- 실제 PASS 인증 연동
- application service의 실제 이벤트 발행 구현
- 추후 작성으로 분리된 나머지 테스트
Dependencies / Risks
- gateway를 거쳐 요청이 들어오는 흐름을 고려해야 합니다.
- access token과 refresh token은 body가 아니라 HttpOnly cookie로 전달되어야 합니다.
- applications API는 application service의 복사 데이터를 사용해야 하므로 동기화 이벤트 처리 설계가 필요합니다.
../casper-user 서비스 구조를 참고해 Identity 아키텍처와 구현 스타일을 맞춰야 합니다.
Additional Notes
No response
Summary
Identity 서비스의 테스트, JWT 발급 유틸, 예외 처리, 도메인 모델, API 10개를 구현합니다.
Problem / Motivation
실제 인증 및 사용자 정보 제공 서비스로 동작하려면 Controller 검증을 위한 테스트, JWT 발급/재발급 기반, 공통 예외 처리, 순수 도메인 모델, API 명세에 정의된 10개 엔드포인트 구현이 필요합니다.
요구사항 상 access token은 2시간, refresh token은 7일 만료되어야 하며, 두 토큰 모두 HttpOnly 쿠키로 브라우저에 전달되어야 합니다. 또한 applications 관련 API는 application service 데이터를 복사한 조회 모델을 사용하고, 이벤트 수신 시 해당 데이터를 갱신할 수 있어야 합니다.
Proposed Solution
테스트 코드 작성
JWT 발급 유틸 개발
ErrorCode 및 Exception Handler 작성
순수 도메인 모델 정의
API 10개 구현
POST /auth/signup)POST /auth/login)POST /auth/logout)POST /auth/token)PATCH /auth/password-reset)DELETE /accounts/me)GET /accounts/me)GET /applications/status)GET /applications/result)PATCH /applications/cancellation)Scope
In scope:
systems/identity멀티모듈 내부 구현Out of scope:
Dependencies / Risks
../casper-user서비스 구조를 참고해 Identity 아키텍처와 구현 스타일을 맞춰야 합니다.Additional Notes
No response