T-001.txt 1.6 KB

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