Skip to content

[Auth] Apple Sign-In 연결 #31

@Roy-wonji

Description

@Roy-wonji

목적

Google / Kakao 와 동일한 흐름으로 Apple Sign-In 을 백엔드 /api/v1/auth/login/apple 에 연결.

배경

#2 의 소셜 로그인 작업에서 Apple 만 별도 이슈로 분리. (Google / Kakao 는 #2 / #30 에서 완료)

현재 상태:

  • AppleOAuthRepositoryImpl, AppleOAuthProvider, UnifiedOAuthUseCase.appleLogin 코드 골격은 존재
  • LoginFeature.async(.prepareAppleRequest / .appleLogin) 분기까지 연결됨
  • Apple 버튼 UI 와 nonce 흐름이 실제 화면에 노출/검증되지 않은 상태

연결 API

  • POST /api/v1/auth/login/apple
    • body: { authorizationCode, redirectUri }

작업 내용

  • LoginView 에 SignInWithAppleButton (또는 커스텀 버튼 + ASAuthorizationAppleIDProvider) 노출
  • prepareAppleRequest → nonce 생성 + scopes(email, fullName) 부착
  • appleLogin(Result<ASAuthorization, Error>)unifiedOAuthUseCase.processOAuthFlow(.apple, credential, nonce, ...) 로 전달
  • appleUserName SharedAppStorage 첫 로그인만 저장되는 동작 검증 (Apple 은 최초 1회만 fullName 제공)
  • 백엔드 redirectUri 규격 확정 (SocialType.apple.redirectUri 현재 빈 문자열) 후 반영
  • 실기기에서 새 Apple ID 로 회원가입 → 재로그인 시 nonce/credential 흐름 회귀 테스트

의존

참고

  • Projects/Domain/UseCase/Sources/OAuth/Provider/Apple/AppleOAuthProvider.swift
  • Projects/Data/Repository/Sources/OAuth/Apple/AppleOAuthRepositoryImpl.swift
  • Projects/Domain/UseCase/Sources/OAuth/UnifiedOAuthUseCase.swift (appleLogin)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions