mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2026-06-13 16:59:13 +00:00
User 서비스 내부 시퀀스 다이어그램 개선
- 회원가입: 사업자번호 암호화 위치 명시, 성능 지표 추가, 에러 코드 표준화 (USER_001, USER_002) - 로그인: 비동기 처리 설명 추가, Rate Limiting 보안 강화, 성능 목표 추가, 에러 코드 표준화 (AUTH_001) - 프로필수정: 트랜잭션 범위 명확화, Optimistic Locking 추가, 동시성 제어, 에러 코드 표준화 (USER_003~005) - 로그아웃: API Gateway 연계 시나리오, 로그아웃 이벤트 발행, 성능 목표 추가, 에러 코드 표준화 (AUTH_002) - .gitignore 추가: .npm-global 및 기타 임시 파일 제외 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -45,7 +45,7 @@ deactivate UserRepo
|
||||
|
||||
alt 중복 사용자 존재
|
||||
Service --> Controller: throw DuplicateUserException\n("이미 가입된 전화번호입니다")
|
||||
Controller --> Client: 400 Bad Request\n{"error": "이미 가입된 전화번호입니다"}
|
||||
Controller --> Client: 400 Bad Request\n{"code": "USER_001",\n"error": "이미 가입된 전화번호입니다"}
|
||||
deactivate Service
|
||||
deactivate Controller
|
||||
else 신규 사용자
|
||||
@@ -104,7 +104,7 @@ else 신규 사용자
|
||||
deactivate Validator
|
||||
|
||||
Service --> Controller: BusinessNumberInvalidException
|
||||
Controller --> Client: 400 Bad Request\n{"error": "유효하지 않은 사업자번호입니다.\n휴폐업 여부를 확인해주세요."}
|
||||
Controller --> Client: 400 Bad Request\n{"code": "USER_002",\n"error": "유효하지 않은 사업자번호입니다.\n휴폐업 여부를 확인해주세요."}
|
||||
deactivate Service
|
||||
deactivate Controller
|
||||
|
||||
@@ -122,7 +122,13 @@ else 신규 사용자
|
||||
|
||||
== 4단계: 사업자번호 암호화 ==
|
||||
|
||||
Service -> Service: encryptBusinessNumber(businessNumber)\n(AES-256 암호화)
|
||||
Service -> Service: EncryptionUtil 호출 준비
|
||||
note right of Service
|
||||
**암호화 처리**
|
||||
- AES-256-GCM 모드 사용
|
||||
- 환경변수에서 암호화 키 로드
|
||||
end note
|
||||
Service -> Service: encryptedBusinessNumber =\nEncryptionUtil.encrypt(businessNumber)
|
||||
|
||||
== 5단계: 데이터베이스 트랜잭션 ==
|
||||
|
||||
@@ -187,7 +193,16 @@ note over Controller, NTSApi
|
||||
|
||||
**보안 처리**
|
||||
- 비밀번호: bcrypt 해싱 (Cost Factor 10)
|
||||
- 사업자번호: AES-256 암호화
|
||||
- 사업자번호: AES-256-GCM 암호화 (EncryptionUtil)
|
||||
|
||||
**성능 목표**
|
||||
- 평균 응답 시간: 2.0초 이내 (국세청 API 포함)
|
||||
- P95 응답 시간: 3.0초 이내
|
||||
- 캐시 HIT 시: 0.8초 이내
|
||||
|
||||
**에러 코드**
|
||||
- USER_001: 중복 사용자
|
||||
- USER_002: 사업자번호 검증 실패
|
||||
end note
|
||||
|
||||
@enduml
|
||||
|
||||
Reference in New Issue
Block a user