feat: AtchaV2 Phase 3 — CoreAuth 익명 세션 + 인증 데코레이터 + 스플래시 - #341
Merged
Conversation
- Domain: Place/LastRoute/AlarmInfo 엔티티, LastRouteSearchResult 정규화 enum, Repository·디바이스 포트 6종, UseCase 7종 (등록 순서·정규화 정책 포함) - AtchaData: Route/Place/Alarm 엔드포인트, APIResponse envelope 해체 헬퍼, 레거시 실측 DTO 이식(toEntity, KST 고정 파싱, mode unknown 폴백), RepositoryImpl 3종 - 테스트: Domain 정책 8개 + AtchaData 인라인 픽스처 28개 (Swift Testing) - 미확정 입력 #3(빈 목록=serviceEnded 가정)·#4(클라 삭제 후 등록)는 TODO로 격리 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- CoreStorage 레이어 모듈 신설 (KeyValueStore 프로토콜 + Codable 헬퍼, UserDefaultsKeyValueStore, KeychainStore — 레거시 키체인+메모리 캐시 패턴을 Mutex 기반 Sendable-clean으로 재작성) - AtchaData에 RecentSearchRepositoryImpl (최대 10개, 중복 시 최신 갱신, 최신순, 삭제 지원) + RecentSearchRecordDTO - 테스트는 인메모리 KeyValueStore 스텁 (실 UserDefaults 미사용) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- CoreAuth 모듈 신설(.nonisolated, CoreNetwork+CoreStorage 의존) - TokenStore: 키체인 기반 액세스/리프레시 토큰 보관(레거시 키 계약 유지) - AuthSessionManager(actor): 익명 부트스트랩 + GET /auth/reissue 리프레시 (토큰 회전) + 401 복구 체인, single-flight - AuthenticatedNetworkClient: Bearer 부착 → 401 시 복구 1회 → 재시도, 공개 경로 suffix 주입, 복구 불능 시 원 401 전파 (AtchaData/Feature 무변경) - App: 데코레이터 주입(AppDIContainer), 스플래시 단계(AppCoordinator + SplashViewController), base URL 실호스트 반영(atcha.p-e.kr / atcha.online) - 익명 발급 엔드포인트는 스펙 미정(미확정 입력 #2) — 프로토콜+스텁, 실호출 보류 - 테스트 30개(Swift Testing): 401 체인·동시 401 리프레시 1회·공개 경로 예외 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
AtchaV2 Phase 3 — CoreAuth 익명 세션 + 인증 데코레이터 + 스플래시. AtchaData/Feature 코드 무변경으로 인증 계층을 네트워크 데코레이터로 삽입합니다.
주요 변경
CoreAuth (신규 모듈, .nonisolated, CoreNetwork+CoreStorage 의존)
TokenStore: 키체인 기반 액세스/리프레시 토큰 보관 (레거시 키 계약 유지)AuthSessionManager(actor): 익명 부트스트랩 +GET /auth/reissue리프레시(토큰 회전) + 401 복구 체인, single-flightAuthenticatedNetworkClient: Bearer 부착 → 401 시 복구 1회 → 재시도, 공개 경로 suffix 주입, 복구 불능 시 원 401 전파App
AppDIContainer데코레이터 주입, 스플래시 단계(AppCoordinator+SplashViewController)검증
🤖 Generated with Claude Code