feat(auth): 애플 로그인(Sign in with Apple) — 웹 OAuth 4번째 공급자 + 탈퇴 revoke#62
Merged
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
- ApplePendingCredentialSweeper: 1일→30일. 애플은 refresh_token을 최초 인가 시에만 내려주므로, 스윕 윈도가 너무 짧으면 온보딩 중도이탈 후 뒤늦게 돌아온 유저의 pending 행이 먼저 삭제되어 토큰이 영구 유실되고 탈퇴 시 revoke가 조용히 no-op 된다. 30일로 넓혀 지연 온보딩을 커버. - AppleIdTokenVerifier: aud 클레임이 없는(claims.audience == null) 기형 토큰이 try/catch 밖 NPE로 500을 내던 것을, null을 불일치로 취급해 기존 AppException(INVALID_TOKEN) 401 경로로 흡수. 회귀 테스트 추가. - AuthService: 기존 애플 유저 로그인 분기 주석이 "매 로그인마다 새 refresh token 갱신"이라 잘못 서술하고 있었음(애플은 최초 동의 때만 발급, 보통 null → 기존값 유지). 코드는 원래도 맞았고 주석만 정정. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
iOS App Store 4.8 대응 — 애플을 4번째 소셜 OAuth 공급자로 추가(카카오·구글·네이버 유지). 기존 `SocialOAuthClient` 파이프라인에 `@Component("APPLE")`로 편입되어 AuthService는 무변경(provider 자동 디스패치).
변경
검증
🔴 배포 전 필수 (사용자 액션)
설계/계획: web `docs/superpowers/{specs,plans}/2026-07-13-apple-login*`
🤖 Generated with Claude Code