Skip to content

[Feat] 카카오 OAuth2 로그인 및 JWT 인증/인가 구조 구현 - #10

Merged
jae-2024 merged 4 commits into
mainfrom
Feat/#9/login
Jan 24, 2026
Merged

jae-2024 merged 4 commits into
mainfrom
Feat/#9/login

Conversation

@jae-2024

Copy link
Copy Markdown
Contributor

😌카카오 OAuth2 로그인을 기반으로 한 인증/인가 구조를 구현했습니다.

  • Spring Security OAuth2를 이용한 카카오 소셜 로그인
  • 로그인 성공 시 JWT Access Token 발급
  • Refresh Token을 서버(DB)에서 관리하는 방식으로 재발급 로직 구현

Refresh Token을 서버에서 관리하는 방식으로 구현한 이유

  • 토큰 탈취 시 서버가 인지 불가
  • 강제 로그아웃 불가
  • 만료될 때까지 악용 가능
    위 3가지는 서버에서 관리하지 않았을 때의 문제점들입니다. 따라서 보안상 위험도가 높은 Refresh Token은 서버(DB)에서 관리하여
    토큰 무효화 및 재발급 제어가 가능하도록 구현했습니다.

흐름도

로그인 요청 -> CustomOAuth2UserService에서 카카오 사용자 정보를 조회
-> providerId를 기준으로 Member를 생성하거나 조회 -> 인증 성공 후 OAuth2LoginSuccessHandler에서 JWT Access Token을 발급
-> Refresh Token은 서버(DB)에 저장하여 만료 및 회전(rotation) 방식으로 관리

이후 모든 요청 -> JwtTokenFilter를 통해 Access Token을 검증 -> 유효한 토큰일 경우 SecurityContext에 인증 정보를 저장
-> Controller 단에서 인증된 사용자로 요청을 처리 -> Access Token 만료 시에는 Refresh Token을 이용해 재발급이 가능

@jae-2024 jae-2024 self-assigned this Jan 24, 2026
@jae-2024 jae-2024 added the ✨Feature 기능 개발 label Jan 24, 2026
@jae-2024 jae-2024 linked an issue Jan 24, 2026 that may be closed by this pull request
5 tasks done
@jae-2024
jae-2024 merged commit 0bf4719 into main Jan 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨Feature 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 로그인 구현

1 participant