Skip to content

Conversation

@Dimo-2562
Copy link
Contributor

❤️ 기능 설명

카카오 소셜 로그인과 JWT 기반 인증을 구현했습니다.

주요 구현 사항

  1. OAuth2 소셜 로그인

    • Spring Security OAuth2 Client 사용
    • OpenID Connect ID Token 방식
    • 카카오 로그인 지원 (애플 로그인 확장 가능)
  2. JWT 토큰 발급

    • Access Token (1시간) + Refresh Token (7일)
    • JwtTokenProvider로 토큰 생성
    • userId, role을 JWT Claims에 포함
  3. Refresh Token 저장

    • Redis에 refreshToken:{userId} 형태로 저장
    • HttpOnly, Secure 쿠키로 클라이언트 전달
  4. 온보딩 플로우

    • UserStatus (PENDING/ACTIVE) 기반 리다이렉트
    • 프론트엔드로 registered, token 파라미터 전달
  5. User 엔티티 확장

    • socialType, socialId, role, status 필드 추가
    • unique constraint: (social_type, social_id)

테스트 방법

  1. 서버 실행 후 브라우저에서 접속:
    http://localhost:8080/oauth2/authorization/kakao
  2. 카카오 로그인 완료 후 리다이렉트 확인:
    http://localhost:5173/auth/callback?registered=false&token=eyJ...
  3. 브라우저 쿠키 확인: refreshToken (HttpOnly, Secure)

swagger 테스트 성공 결과 스크린샷 첨부

연결된 issue

연결된 issue를 자동으로 닫기 위해 아래 {이슈넘버}를 입력해주세요.

close #120



✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가?
  • 이슈넘버를 적었는가?

@Dimo-2562 Dimo-2562 self-assigned this Jan 14, 2026
@Dimo-2562 Dimo-2562 added 🛠️ FEAT 새 기능 👤 domain:user 사용자 관련 labels Jan 14, 2026
@Dimo-2562 Dimo-2562 merged commit 250c986 into develop Jan 14, 2026
1 check passed
@Dimo-2562 Dimo-2562 deleted the feat/#120 branch January 14, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👤 domain:user 사용자 관련 🛠️ FEAT 새 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 카카오 소셜 로그인 구현

2 participants