Skip to content

feat : OAuth2 로그인 시스템 아키텍처 리팩토링 및 성능 최적화#13

Merged
DongHyeonka merged 1 commit intoSynapsesa:developfrom
DongHyeonka:feature/oauth2-login-kakao
Jun 18, 2025
Merged

feat : OAuth2 로그인 시스템 아키텍처 리팩토링 및 성능 최적화#13
DongHyeonka merged 1 commit intoSynapsesa:developfrom
DongHyeonka:feature/oauth2-login-kakao

Conversation

@DongHyeonka
Copy link
Contributor

📌 관련 이슈

✨ PR 작업 내용

  • OAuth2ProviderUser 추상 클래스 도입: GoogleUser, KakaoUser, KakaoOidcUser가 공통 로직을 상속받아 코드 중복 제거
  • AbstractOAuth2UserService 추가: CustomOAuth2UserService와 CustomUserDetailsService가 공통 기능을 상속받아 사용
  • ProviderUserConverter 패턴 적용: DelegatingProviderUserConverter가 각 Provider별 변환기를 관리하여 확장성 향상
  • MemberRepository 통합 쿼리: findBySocialIdOrEmailOrUsername 메서드 추가로 소셜 로그인 시 여러 번의 SELECT 쿼리를 단일 쿼리로 최적화
  • MemberRegistrationService 로직 개선: 중복 검사와 사용자 조회 로직을 하나로 통합
  • GoogleUserOAuth2ProviderUser 상속으로 변경
  • CustomOAuth2UserService, CustomUserDetailsServiceAbstractOAuth2UserService 상속
  • MemberRegistrationService.registerOauthUser() 메서드 시그니처 변경
  • ProviderUser 인터페이스에서 getIdToken(), getUserInfo() 메서드 제거

이미지 첨부


다음 할 일

  • 다음으로 할 일을 작성해 주세요.

- OAuth2ProviderUser 추상 클래스 도입으로 소셜 사용자 클래스 구조 통일
- AbstractOAuth2UserService 추가로 OAuth2/OIDC 서비스 공통 로직 추상화
- ProviderUserConverter 패턴 적용으로 Provider별 사용자 변환 로직 분리
- MemberRegistrationService 통합 쿼리 최적화 (여러 SELECT → 단일 SELECT)
- OIDC 관련 메서드 제거로 불필요한 의존성 제거
- 테스트 구조 개선 (단위테스트 삭제, 통합테스트로 전환)
@DongHyeonka DongHyeonka self-assigned this Jun 18, 2025
@DongHyeonka DongHyeonka merged commit a31eb1a into Synapsesa:develop Jun 18, 2025
1 check passed
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.

1 participant