# 공통 인증 및 권한 관리 모듈 설계 및 구현 **Task ID:** T-001 **Status:** BACKLOG **Importance:** MUST **Complexity:** 5/10 **Urgency:** 7/10 **Dependencies:** None ## Description # 설명 프로젝트 전반에서 재사용될 JWT 인증(JWT) 및 OAuth2 SNS 로그인(Google, Kakao, Naver), 역할기반 권한 관리 미들웨어를 설계하고 구현합니다. ## 구현 상세 1. Backend (CodeIgniter4) - `AuthController` 생성 및 JWT 발급/검증 서비스 구현 - OAuth2 라이브러리(league/oauth2-client)로 Google/Kakao/Naver 전략 설정 - CI4 Migration으로 user, roles, permissions, user_roles, role_permissions 테이블 설계 2. BFF (Node.js + Express) - 로그인·토큰 갱신 API 작성, Axios 인터셉터로 JWT 검증 미들웨어 연동 3. Frontend (Nuxt3 + Vue3) - `auth.plugin.ts`로 JWT 토큰 관리 플러그인 작성 - Axios 요청/응답 인터셉터로 토큰 자동 갱신 처리 - Pinia auth store 구현, `middleware/auth.global.js`에서 경로별 권한 체크 로직 추가 4. CI/CD 및 배포 - GitHub Actions에 lint, test, build, deploy 파이프라인 구성 - Dockerfile, Kubernetes Deployment/Service 정의 ## 테스트 전략 - Backend 유닛 테스트: JWT 발급·검증 성공/실패 케이스 커버리지 90% 이상 - BFF 통합 테스트: 로그인->토큰 갱신->인증 미들웨어 흐름 E2E 검증 - Frontend E2E(Cypress): SNS 로그인 버튼 클릭, 리디렉션, 토큰 저장 및 보호된 라우트 접근 제어 --- **Created:** 2025-07-17T02:02:42.157Z **Updated:** 2025-07-17T02:02:42.157Z