지연 인증 및 로그인 인터셉트 통합
ADR-200 지연 인증 및 로그인 인터셉트 통합
1. Metadata
- ADR ID: ADR-200
- Status: draft
- Date: 2026-03-09
- Owner: YSY
2. Domain Decision
3. Product Decision
- 탐색/상세는 비로그인 허용을 유지한다.
- 상태 변경 액션 시점에 로그인 인터셉트를 적용한다.
- 로그인 후 원래 액션으로 복귀한다.
- 로그인 요구 여부는 화면이 아니라 액션 단위로 판단한다.
- 앱 최초 실행 시 첫 상태 변경 액션도 동일 인터셉트 규칙을 적용한다.
4. UX Decision
- 비로그인 상태 변경 액션은 바텀시트 로그인으로 인터셉트한다.
- 로그인 후 원래 액션으로 자연 복귀한다.
- 인터셉트 취소 시 원래 화면 컨텍스트를 유지한다.
- 상세 화면과 탐색 화면의 인터셉트 동작을 동일하게 유지한다.
- 복귀 토큰 만료 시 안전 화면으로 복귀시키고 액션 재시도를 명시적으로 안내한다.
5. Tech Decision
- 로그인 성공 후 원래 액션 복귀를 위한 컨텍스트 보존 메커니즘을 유지한다.
6. Ops Decision
7. Implementation Contract (Optional)
7.1 API Contract
- 비로그인 상태 변경 액션 요청은
AUTH_REQUIRED_INTERCEPT와 복귀 컨텍스트를 반환한다. - 로그인 완료 후 복귀 요청은
resume_token으로 원래 액션을 재개한다.
7.2 Data Contract
- 복귀 컨텍스트는 짧은 TTL 토큰으로 저장하고 단일 사용으로 제한한다.
- 화면 단위가 아닌 액션 단위 인증 요구 플래그를 저장한다.
resume_token 기본 TTL은 10분으로 고정한다.
7.3 Error/Observability Contract
- 만료된 복귀 토큰은
RESUME_CONTEXT_EXPIRED로 반환한다. - 인터셉트 진입률/복귀 성공률을 운영 지표로 수집한다.
7.4 Test/Acceptance Contract
- 로그인 성공 후 사용자가 원래 액션으로 정확히 복귀해야 한다.
- 인터셉트 취소 시 현재 화면 컨텍스트가 유지되어야 한다.
- 토큰 만료 시 안전 화면으로 복귀하고 중복 실행이 발생하지 않아야 한다.
8. Validation