Skip to content

Resolve "[#29] 요청자 인증 체계 필요"

Bell requested to merge 41-setup_spring_security_jwt into main

작업 내용

  • 기능 추가

배경

  • 로그인 상태 및 사용자 권한에 따른 API 사용 제어 필요

세부 내용 및 스크린샷

  • JWT 기반 인증 기능 추가
    • 필터 체인에 인증 정보 로드 필터 추가
    • 쿠키에 담겨온 Refresh Token 유효기간이 7일 미만일 시 자동 재발급
  • 요청용 DTO 추가
    • 회원가입용 DTO
    • Refresh Token 요청용(로그인) DTO
    • Access Token 요청용 DTO
  • 응답용 베이스 DTO 추가
    • 값 단일 응답용 DTO
    • 값 리스트 응답용 DTO
    • 에러 정보 응답용 DTO
  • 도메인 개선
    • Spring Security 에서 사용할 수 있도록 UserDetails 상속
    • 유저 권한 enum 추가
  • 유저 관리용 서비스 추가
    • 회원 가입 메서드
    • 로그인 메서드
  • API 엔드포인트 추가
    • 회원가입 (/api/v1/auth/register)
    • Refresh Token 발급 (/api/v1/auth/refresh)
    • Access Token 발급 (/api/v1/auth/access)
  • API Exception Handler 설정
    • 토큰 예외 발생 시 401 Unauthorized response 반환
  • API 경로 별 요청 제한 설정 추가
    • /v1/auth/** 는 인증 없이 사용 가능
    • 그 외 엔드포인트는 로그인 필요하도록 제한

리뷰어

리뷰 우선순위

  • 빠르게

체크리스트

  • 운영 환경에 JWT 비밀키값을 k8s secret에 등록하였는지 확인

연관 이슈

Edited by Bell

Merge request reports

Loading