# 공통 인증 및 권한 관리 모듈 설계 및 구현

**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
