libs/feature/auth에 공통 서비스/레지스트리를 배치하고, 필요 시 하위 모듈로 공급자를 분리한다.
libs/shared/contracts-auth를 확장해 Kakao/TIME 이벤트 DTO를 추가한다.
libs/feature/auth-wir는 레거시 시스템과의 일시적 통합 용도이므로 이번 구조 재편 범위에서 제외한다.
신규 라이브러리 생성이 필요한 경우에만 다음 명령을 사용한다.
공통 인프라: nx g @nx/nest:lib --name=core-auth --directory=libs/core/auth --importPath=@core/auth --tags=scope:core,domain:auth
KR 공급자: nx g @nx/nest:lib --name=feature-auth-kr --directory=libs/feature/auth-kr --importPath=@feature/auth-kr --tags=scope:feature,domain:auth,region:kr
EU 공급자(선택): nx g @nx/nest:lib --name=feature-auth-eu --directory=libs/feature/auth-eu --importPath=@feature/auth-eu --tags=scope:feature,domain:auth,region:eu
HTTP 어댑터 등 인프라 유틸: nx g @nx/js:lib --name=core-http-kakao --directory=libs/core/http-kakao --importPath=@core/http-kakao --tags=scope:core,type:http
nx.json 또는 tsconfig.base.json의 depConstraints를 업데이트해 지역 태그가 교차 의존하지 않도록 설정한다.
project.json에 lint/test executor를 추가하고 기본 스켈레톤 테스트를 생성한다.
완료 조건
새 라이브러리가 생성되고 빌드/테스트 명령(nx test <project>)이 통과한다.
태그 제약 위반 여부를 nx graph --focus=@dta/feature-auth/providers-kr나 nx lint로 확인한다.
사용자 연결 플로우 및 UI 계약을 문서(domains/kr/core-domains/auth/endpoints.md)에 상세화한다.
환경 변수(AUTH_OAUTH_KAKAO_*)를 @feature/config 내 authKakaoConfig 네임스페이스로 정의하고, 각 앱 manifest(app-config.manifest.ts)에서 필요한 경우에만 opt-in한다. 샘플 .env/Cloud Run secret JSON에도 동일 키를 추가한다.
완료 조건
Kakao 통합 단위/통합 테스트가 추가되고 yarn test:features, 필요 시 yarn test:all이 통과한다.