Auth Operation 도메인 바운디드 컨텍스트
1. 컨텍스트 개요
Auth Operation Bounded Context는 CRM, Medical 플랫폼의 관리자 인증(Authentication) 여정을 담당합니다. 로그인, 회원가입, 토큰·세션 수명 관리까지 인증 흐름을 끊김 없이 유지해 플랫폼 접근을 안전하게 보장합니다.
비즈니스 목적: 관리자가 각 플랫폼에 안전하게 로그인하고, 인증 수단(토큰·세션·초대)이 일관된 규칙으로 발급·검증·폐기되도록 제공
포함:
- 회원가입(직접/초대 기반) 및 계정 생성
- 로그인 시도 기록, 실패 누적, 계정 잠금/해제
- 액세스/리프레시 토큰 발급·회전, 세션 관리
- 초대 검증 및 단일 사용 보장
제외:
- 사용자 프로필·역할·권한 상세 관리 (IAM Domain 소관)
- 알림 채널 전송 및 템플릿 관리 (Notification Domain 소관)
- 비즈니스 데이터 조회/수정(예: 의료 데이터, CRM 엔터티)
2. 유비쿼터스 언어
| Term | Definition |
|---|---|
| 계정(Account) | CRM/Medical 운영자를 식별하는 인증 단위 |
| 초대(Invitation) | 사이트/조직에 가입하기 위한 단일 사용 토큰. 사용 후 재사용 불가 |
| 로그인 시도(Login) | 계정별 로그인 성공/실패 기록과 누적 실패 횟수 상태 |
| 계정 잠금(Account Lock) | 5회 연속 실패 시 1분간 로그인 차단 상태 |
| 액세스 토큰 | 단기 유효 JWT. API 호출 권한을 증명 |
| 리프레시 토큰 | 액세스 토큰 재발급을 위한 장기 유효 JWT |
| 세션(Session) | 리프레시 토큰·클라이언트 메타(UA, IP)로 식별되는 인증 세션 |
| 임시 액세스 토큰 | 보안 코드 검증 성공 시 30분 유효로 발급되는 제한적 액세스 토큰 |
| 보안 코드(Secure Code) | 비밀번호 재설정 인증을 위한 6자리 숫자 코드 |
3. 컨텍스트 맵
3.1 관계 개요
용어 설명:
- 의존 (Depends on): 다른 Context의 데이터나 API를 호출하여 사용. 상대 Context가 없으면 동작 불가.
- 발행 (Publishes to): 이벤트를 다른 Context로 발행. 상대 Context의 처리 결과는 관심 없음.
- 구독 (Subscribes from): 다른 Context에서 발행한 이벤트를 받아서 처리.
3.2 Register Context
책임:
- 이메일/비밀번호 정책 검증을 포함한 계정 생성
- 초대 검증(존재/만료/사용 여부) 및 단일 사용 보장
- 가입 완료 시 초대 상태 갱신과 계정 생성의 원자성 확보
포함 Aggregate:
- OperationUser
- Invitation
관계:
- 의존: IAM Ops Context (프로필/권한 연계에 필요한 계정 기초 정보 전달)
- 발행: Notification Context (초대 발송, 가입 완료 알림 이벤트)
3.3 Login Context
책임:
- 이메일·비밀번호 기반 인증 및 로그인 시도 기록
- 실패 횟수 누적·리셋 및 5회 실패 시 계정 잠금 처리(1분)
- 잠금 상태 로그인 차단 및 AccountLocked, LoginAttemptCountReset 등 이벤트 발행
포함 Aggregate:
- OperationUserLogin
관계:
- 발행: Token Management Context (로그인 성공 후 토큰 발급 요청 이벤트)
3.4 Token Management Context
책임:
- 액세스/리프레시 토큰 발급, 검증, 회전 및 폐기
- 세션 식별(리프레시 토큰·클라이언트 메타)과 중복 로그인/탈취 방지
- 임시 액세스 토큰 발급·검증(보안 코드 검증 성공 시)
포함 Aggregate:
- Token (AccessToken, RefreshToken)
- Session
관계:
- 구독: Login Context (로그인 성공 이벤트 기반 토큰 발급)
- 발행: Notification Context (보안 코드/토큰 관련 알림 트리거)
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.58.0 | 2025-12-16 | mook@weltcorp.com | 문서 최초 작성 |
| 0.62.0 | 2025-12-29 | jeff@weltcorp.com | Auth 범위 재정렬에 따른 컨텍스트 정의 보강 |