| 123456789101112131415161718192021222324252627282930313233343536 |
- # 공통 인증 및 권한 관리 모듈 설계 및 구현
- **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
|