Skip to content

Conversation

@khyojun
Copy link
Member

@khyojun khyojun commented Jul 27, 2025

📍 Issue

✨ Key Changes

🍎 Apple OAuth2 소셜 로그인 구현

  • 새로운 Apple OAuth2 컴포넌트 추가:
    • AppleProperties.java: Apple 인증 설정 관리
    • AppleOAuth2AccessTokenResponseClient.java: Apple 토큰 교환 처리
    • AppleOAuth2UserInfo.java: Apple 사용자 정보 매핑
    • CompositeOAuth2AccessTokenResponseClient.java: Apple/Google 토큰 클라이언트 통합

🔧 OAuth2 인증 플로우 개선

  • CustomAuthorizationRequestResolver.java: Apple response_mode=form_post 지원
  • DebugOAuth2AuthorizationRequestRepository.java: Authorization request 디버깅 및 추적
  • CustomOAuth2UserService.java: Apple ID 토큰 디코딩 및 refresh token 처리 (297줄 대폭 확장)
  • OAuth2LoginSuccessHandler.java: Apple 특화 인증 성공 처리 로직

🛡️ Apple 소셜 로그인 회원 탈퇴 기능

  • UserAuthController.java: Apple 회원 탈퇴 API 엔드포인트 추가
  • UserAuthFacade.java: Apple revoke 프로세스 통합

⚙️ 보안 및 설정 강화

  • SecurityConfig.java: Apple OAuth2 통합을 위한 보안 설정 업데이트
  • OAuth2LoginFailureHandler.java: 상세한 에러 로깅 및 디버깅 정보
  • Platform.java: APPLE 플랫폼 지원 추가

✅ Test Result

  • ✅ Apple 소셜 로그인 정상 작동
  • ✅ Apple refresh token 획득 및 저장 성공
  • ✅ Apple 회원 탈퇴 프로세스 구현 완료
  • ✅ 기존 Google 소셜 로그인 기능 유지
  • ✅ Spring Security OAuth2 플로우 준수

💬 To Reviewers

  • 총 14개 파일 변경 (775줄 추가, 96줄 삭제)
  • Apple OAuth2의 특수한 response_mode=form_post 및 JWT client secret 생성 방식 적용
  • 기존 Google OAuth2와 호환성 유지하면서 Apple 전용 처리 로직 분리
  • Apple의 엄격한 보안 정책 및 refresh token 관리 방식 준수
  • 상세한 디버깅 로그로 OAuth2 플로우 추적 가능

khyojun added 4 commits July 27, 2025 10:01
- spring security 의 흐름에 맞게 구현 진행
- AppleOAuth2AccessTokenResponseClient를 활용해 refreshToken 받아오는 방식으로 진행
@khyojun khyojun requested a review from geniusYoo July 27, 2025 01:24
@khyojun khyojun self-assigned this Jul 27, 2025
Copy link
Contributor

@geniusYoo geniusYoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

너무 고생하셨습니다! 코멘트 하나만 확인해주세요 !

@khyojun khyojun merged commit b37f43a into main Jul 27, 2025
2 checks 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.

feat : 애플 소셜 로그인 작업을 진행해요!

2 participants