Skip to content

Conversation

@1117mg
Copy link
Member

@1117mg 1117mg commented Jul 25, 2025

📌 PR 제목

📋 작업 내용

  • JWT 인증 시스템
  • 카카오 소셜 로그인
  • 온보딩 시스템
  • 사용자 상태 관리
  • 개발용 테스트 데이터 생성 API
  • 암장/레벨 목록 조회 API

✅ 체크리스트

  • 테스트를 완료했나요?
  • 코드 컨벤션을 지켰나요?
  • 관련 문서를 업데이트 했나요?

🚨 주의사항

  • 환경변수는 따로 보내드리겠습니당
  • 이거 머지하고 나서 JWT 토큰 필터 추가할 예정입니다

🚨 테스트 단계

  1. 테스트 데이터 생성: POST /api/test/init-data
  2. 카카오 로그인 요청: GET /oauth2/authorization/kakao
  3. 로그인 후 ?token={jwt} 페이지에서 토큰 획득
  4. 사용자 정보 확인: GET /api/users/me
  5. 그 외 API들 자유롭게 요청 가능

@1117mg 1117mg self-assigned this Jul 25, 2025
@1117mg 1117mg linked an issue Jul 25, 2025 that may be closed by this pull request
@claude
Copy link

claude bot commented Jul 25, 2025

Claude finished @1117mg's task —— View job


코드 리뷰 완료

변경사항 요약

이번 PR은 카카오 소셜 로그인과 JWT 인증 시스템을 구현하여 사용자 온보딩 플로우를 추가했습니다. OAuth2를 통한 카카오 로그인, JWT 토큰 기반 인증, 사용자 상태 관리 API들이 새로 구현되었습니다. 40개 파일에 걸쳐 1302줄이 추가되었고, 기존 tier 관련 코드를 level로 리팩토링했습니다. 암장/레벨 조회 API와 개발용 테스트 데이터 관리 엔드포인트도 함께 추가되었습니다.

코드 리뷰

🚨 Critical Security Issues

SecurityConfig.java:34 - [issue:] 모든 API 엔드포인트가 인증 없이 접근 가능 - /api/** 경로가 permitAll()로 설정되어 있어 JWT 인증이 무의미함. 인증이 필요한 엔드포인트는 authenticated() 설정 필요

UserController.java:90-91 - [issue:] JWT 토큰 검증 없음 - Authorization 헤더에서 토큰을 추출하지만 유효성 검사를 하지 않아 위조된 토큰으로 다른 사용자 정보 접근 가능. jwtUtil.isTokenValid(token) 검증 추가 필요

OnboardingController.java:41-42 - [issue:] JWT 토큰 검증 없음 - UserController와 동일한 보안 취약점으로 토큰 검증 없이 사용자 ID 추출. 토큰 유효성 검사 및 예외 처리 필요

TestController.java:136-152 - [issue:] 위험한 테스트 엔드포인트가 공개됨 - /api/test/clear-data가 모든 데이터를 삭제할 수 있으나 인증 없이 접근 가능. 개발 환경에서만 활성화하거나 인증 추가 필요

🔍 Security & Quality Issues

JwtUtil.java:22 - [suggestion:] JWT 시크릿 키 인코딩 취약 - secret.getBytes()는 플랫폼 기본 인코딩 사용으로 키 강도가 불안정할 수 있음. StandardCharsets.UTF_8 명시적 사용 권장

JwtUtil.java:55-56 - [suggestion:] 예외 처리가 너무 광범위 - 모든 예외를 catch하여 false 반환하면 토큰 파싱 실패 원인 파악 불가. 구체적인 예외 타입별 처리와 로깅 추가 필요

SecurityConfig.java:24 - [question:] CSRF 비활성화 근거 불명 - API 서버에서 CSRF 비활성화가 의도된 것인지 확인 필요. SPA 환경이라면 적절하나 문서화 필요

SecurityConfig.java:26 - [question:] 세션 정책 일관성 부족 - JWT 기반 인증 구현 중인데 SessionCreationPolicy.IF_REQUIRED 사용하는 이유. STATELESS 정책 고려 필요


@1117mg 1117mg merged commit 22398c1 into main Jul 25, 2025
1 check passed
@1117mg 1117mg deleted the feature/6-user-kakao-social-login-api branch July 30, 2025 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[User] 카카오 소셜 로그인 API

2 participants