지연 인증 및 로그인 인터셉트 통합

지연 인증 및 로그인 인터셉트 통합

ADR-200 지연 인증 및 로그인 인터셉트 통합

1. Metadata

  • ADR ID: ADR-200
  • Status: draft
  • Date: 2026-03-09
  • Owner: YSY

2. Domain Decision

  • 해당 없음

3. Product Decision

  1. 탐색/상세는 비로그인 허용을 유지한다.
  2. 상태 변경 액션 시점에 로그인 인터셉트를 적용한다.
  3. 로그인 후 원래 액션으로 복귀한다.
  4. 로그인 요구 여부는 화면이 아니라 액션 단위로 판단한다.
  5. 앱 최초 실행 시 첫 상태 변경 액션도 동일 인터셉트 규칙을 적용한다.

4. UX Decision

  1. 비로그인 상태 변경 액션은 바텀시트 로그인으로 인터셉트한다.
  2. 로그인 후 원래 액션으로 자연 복귀한다.
  3. 인터셉트 취소 시 원래 화면 컨텍스트를 유지한다.
  4. 상세 화면과 탐색 화면의 인터셉트 동작을 동일하게 유지한다.
  5. 복귀 토큰 만료 시 안전 화면으로 복귀시키고 액션 재시도를 명시적으로 안내한다.

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

  • Domain/Product/UX/Tech/Ops 결정이 충돌하지 않는다.
  • 구현 기준은 SPEC과 정합성을 유지한다.
  • 운영 절차는 RUNBOOK으로 연결된다.