Skip to content

feat(auth): Native SDK 소셜 로그인 서비스 구현#101

Merged
coldsunn merged 5 commits intodevelopfrom
feat/auth-native-login
Feb 14, 2026
Merged

feat(auth): Native SDK 소셜 로그인 서비스 구현#101
coldsunn merged 5 commits intodevelopfrom
feat/auth-native-login

Conversation

@coldsunn
Copy link
Collaborator

@coldsunn coldsunn commented Feb 14, 2026

📝 요약(Summary)

Android/iOS Capacitor 기반 하이브리드 앱을 위한 Native SDK 소셜 로그인 기능을 구현했습니다.

  • Google Native Login: Google SDK의 ID Token을 검증하여 로그인/회원가입
  • Naver Native Login: Naver SDK의 Access Token으로 사용자 정보 조회 후 로그인/회원가입

하는 김에 소셜 로그인 관련 로직 중에 사용자 조회/생성, 탈퇴 계정 자동 복구 관련 코드가 중복되어서 리팩토링도 진행하였습니다.

두가지 엔드포인트 추가했습니다.

  • POST /api/v1/auth/google/native-login
  • POST /api/v1/auth/naver/native-login

🔗 Related Issue

  • Closes:

💬 공유사항

GitHub Actions에 환경변수 주입 완료했습니다.
추후 애플 로그인 역시 비슷한 방식으로 구현하면 될 것 같습니다.
Docker 29.x 호환성 문제 해결을 위해 Testcontainers 2.0.3으로 업그레이드하였습니다. 1.21.3 버전은 무조건 API 1.32 사용하는데 Docker 29.x는 최소 1.44 요구하여 문제가 발생하였고 Testcontainers 2.0.3 버전은 이를 방지하기 위해 먼저 1.44 시도하고 실패하면 1.32로 자동 fallback하도록 개선하였기 때문에 버전업을 하였습니다.

참고 링크

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목을 커밋 메시지 컨벤션에 맞게 작성했습니다.

application-*.yml에 android-client-id 설정 추가, GitHub Actions 스크립트에 GOOGLE_ANDROID_CLIENT_ID 환경변수 주입,
GoogleProperties에 androidClientId 필드 추가
GoogleOAuth2Client에 ID Token 검증 메서드 구현, tokeninfo API 응답 DTO로 GoogleIdTokenInfoResponse 추가
사용자 조회/생성/복구, 신규 사용자 생성, 탈퇴 계정 자동 복구와 관련된 공통 로직을 SocialAccountService로 모두 분리, 기존 웹 소셜 로그인 서비스 클래스인
SocialAuthService도 이제 SocialAccountService 사용하도록 리팩토링
NativeAuthService로 구글은 Google ID Token 검증 후 로그인/회원가입하고, 네이버는 Naver Access Token으로 사용자 조회 후
로그인/회원가입하도록 구현, POST /api/v1/auth/google/native-login, POST /api/v1/auth/naver/native-login 엔드포인트 구현
Docker 29.x 호환성 문제 해결을 위해 testcontainers-bom 2.0.3 적용
@coldsunn coldsunn merged commit 26863cd into develop Feb 14, 2026
1 check passed
@coldsunn coldsunn deleted the feat/auth-native-login branch February 14, 2026 14:35
1Seob pushed a commit that referenced this pull request Feb 14, 2026
* ci(global): Google Android Client ID 설정 추가

application-*.yml에 android-client-id 설정 추가, GitHub Actions 스크립트에 GOOGLE_ANDROID_CLIENT_ID 환경변수 주입, GoogleProperties에 androidClientId 필드 추가

* feat(auth): Google ID Token 검증 기능 추가

GoogleOAuth2Client에 ID Token 검증 메서드 구현, tokeninfo API 응답 DTO로 GoogleIdTokenInfoResponse 추가

* refactor(auth): 소셜 계정 공통 로직 분리

사용자 조회/생성/복구, 신규 사용자 생성, 탈퇴 계정 자동 복구와 관련된 공통 로직을 SocialAccountService로 모두 분리, 기존 웹 소셜 로그인 서비스 클래스인
SocialAuthService도 이제 SocialAccountService 사용하도록 리팩토링

* feat(auth): Native SDK 소셜 로그인 서비스 구현

NativeAuthService로 구글은 Google ID Token 검증 후 로그인/회원가입하고, 네이버는 Naver Access Token으로 사용자 조회 후 로그인/회원가입하도록 구현, POST /api/v1/auth/google/native-login, POST /api/v1/auth/naver/native-login 엔드포인트 구현

* fix(infra): Testcontainers 2.0.3으로 업그레이드

Docker 29.x 호환성 문제 해결을 위해 testcontainers-bom 2.0.3 적용
# Conflicts:
#	build.gradle
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