Skip to content

[FEAT] JWT 인증 필터 및 검증 API 구현#62

Open
nuj1min wants to merge 1 commit into
developfrom
feat/61-jwt-auth-filter
Open

[FEAT] JWT 인증 필터 및 검증 API 구현#62
nuj1min wants to merge 1 commit into
developfrom
feat/61-jwt-auth-filter

Conversation

@nuj1min

@nuj1min nuj1min commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

📌 PR 설명

  • JWT Access Token 검증을 위한 공통 인증 필터를 구현했습니다.
  • Authorization: Bearer {accessToken} 헤더를 파싱하여 토큰을 검증하도록 처리했습니다.
  • 검증된 사용자 정보를 SecurityContext에 저장하도록 구현했습니다.
  • 인증이 필요한 API에서 @AuthenticationPrincipal AuthUser로 현재 로그인 사용자를 조회할 수 있도록 구성했습니다.
  • 미인증 요청 시 공통 응답 형식으로 AUTH4011을 반환하도록 처리했습니다.
  • Swagger에서 Bearer Token 인증을 사용할 수 있도록 설정을 추가했습니다.
  • 마이페이지 조회 API가 인증된 사용자 ID를 기반으로 조회되도록 수정했습니다.

🔗 연관된 이슈

Resolves: #61

📝 리뷰 요구사항

  • 현재 인증 보호 경로는 우선 /api/v1/users/me, /api/v1/users/me/**, /api/v1/auth/logout으로 제한했습니다. 다른 API까지 확대할 범위가 적절한지 확인 부탁드립니다.
  • JWT 발급 로직은 소셜 로그인 PR과 연동 예정이므로, 이번 PR에서는 미인증/잘못된 토큰 검증 흐름 위주로 확인했습니다.
  • SecurityContext에 저장하는 인증 객체를 AuthUser(userId, role) 형태로 구성했는데, 추후 확장에 적절한지 확인 부탁드립니다.

💻 테스트 결과

  • API 테스트 완료
  • 정상 동작 확인
  • ./gradlew compileJava 성공
  • Authorization 헤더 없이 /api/v1/users/me 호출 시 AUTH4011 응답 확인
  • 유효 JWT 기반 성공 케이스는 소셜 로그인/JWT 발급 PR 머지 후 확인 예정
스크린샷 2026-07-16 오후 2 36 30

@nuj1min nuj1min self-assigned this Jul 16, 2026

@yangjiae12 yangjiae12 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

개발 환경에서는 매번 소셜 로그인을 통해 Access Token을 발급받는 과정이 번거로울 수 있을 것 같습니다. 로컬 환경에서만 사용할 수 있는 테스트용 Access Token 발급 API를 두는 것도 개발 편의성 측면에서 고려해보면 좋을 것 같습니다!


@Component
@RequiredArgsConstructor
public class JwtTokenProvider {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JWT 생성 및 검증을 직접 구현해주셨는데, 추후 검증 로직까지 고려했을 때 jjwt와 같은 표준 라이브러리를 사용하는 방향도 고려해보면 좋을 것 같습니다!

Comment on lines +35 to +40
user.getId(),
user.getEmail(),
user.getNickname(),
user.getRegion().getName(),
user.getRole(),
user.getProfileImage()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 부분 UserConverter로 분리하면 좋을 거 같습니다

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.

[FEAT] JWT 인증 필터 및 토큰 검증 구현

2 participants