Spring Boot 기반 JWT 인증/인가 연습 프로젝트입니다.
- 이메일 회원가입
- 로그인 후
accessToken,refreshToken발급 - Redis 기반 refresh token 저장
- access token 블랙리스트 로그아웃 처리
- refresh token 재발급
- 로그인 사용자 정보 조회
- 회원 탈퇴
- JPA + Querydsl 기반 사용자/권한 도메인
POST /api/auth/signupPOST /api/auth/loginPOST /api/auth/reissuePOST /api/user/logoutGET /api/user/meDELETE /api/user/withdraw
- 애플리케이션:
./gradlew bootRun - Redis:
docker compose up -d - Swagger UI:
http://localhost:8080/swagger-ui.html - H2 Console:
http://localhost:8080/h2-console - H2 JDBC:
jdbc:h2:tcp://localhost:13306/mem:testdb - Redis UI:
http://localhost:8081/
JwtAuthenticationFilter로 Bearer 토큰 인증RedisTokenStore로 refresh token, 블랙리스트 토큰 관리DataInitializer로 기본 권한/샘플 데이터 초기화- DTO를 controller payload와 service dto로 분리
- 현재 JWT secret은
application.yml에 예제로 들어가 있으므로 실사용 시 외부 설정으로 분리해야 합니다.