Skip to content

Conversation

@Dimo-2562
Copy link
Contributor

❤️ 기능 설명

Apple Sign In with REST API를 통한 소셜 로그인 기능을 구현했습니다.

주요 변경사항

  1. JWT 기반 client-secret 동적 생성

    • AppleClientSecretGenerator: ES256 알고리즘으로 Apple 요구사항에 맞는 JWT 생성
    • Apple Team ID, Key ID, Private Key(.p8)를 사용한 서명
  2. OAuth2 Token 교환 커스터마이징

    • AppleOAuth2Config: Apple 로그인 시에만 동적 생성된 client-secret을 주입
    • RestClientAuthorizationCodeTokenResponseClient의 ParameterConverter 활용
  3. OIDC User Service 구현

    • CustomOAuth2UserServiceCustomOidcUserService로 네이밍 변경
    • OIDC 프로토콜 사용을 명확히 표현
  4. form_post 방식 지원

    • HttpCookieOAuth2AuthorizationRequestRepository: Authorization Request를 쿠키에 저장
    • STATELESS JWT 방식을 유지하면서 OAuth2 로그인 플로우 지원
    • Apple의 email scope 요청 시 필수인 response_mode=form_post 설정
  5. 보안 및 CORS 설정

    • Apple 도메인(https://appleid.apple.com)에 대한 CORS 허용
    • HttpOnly 쿠키로 보안 강화 (3분 만료)

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

연결된 issue

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

close #204



✅ 체크리스트

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

@Dimo-2562 Dimo-2562 self-assigned this Jan 28, 2026
@Dimo-2562 Dimo-2562 added 🛠️ FEAT 새 기능 🔐 domain:auth 인증/보안 관련 (로그인, JWT, OAuth) labels Jan 28, 2026
@Dimo-2562 Dimo-2562 merged commit e31600d into develop Jan 28, 2026
1 check passed
@Dimo-2562 Dimo-2562 deleted the feat/#204 branch January 28, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔐 domain:auth 인증/보안 관련 (로그인, JWT, OAuth) 🛠️ FEAT 새 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 애플 소셜 로그인 구현

2 participants