Supabase Apple 로그인 iOS 설정
사전 요구사항
Section titled “사전 요구사항”이 가이드는 iOS에서 Supabase Authentication과 Apple Sign-In을 통합하는 데 도움이 됩니다. 다음을 이미 완료했다고 가정합니다:
전체 구현은 예제 앱의 supabaseAuthUtils.ts 파일에서 사용할 수 있습니다. 이 가이드는 주요 개념과 사용 방법을 설명합니다.
인증 도우미 사용
Section titled “인증 도우미 사용”authenticateWithAppleSupabase 함수는 전체 인증 흐름을 처리합니다:
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();if (result.success) { console.log('Signed in:', result.user); // 인증된 영역으로 이동합니다} else { console.error('Error:', result.error);}iOS에서 Apple Sign-In은 기본 구현을 사용합니다:
- 초기화: 플러그인은 앱의 번들 ID를 자동으로 사용합니다(
clientId필요 없음) - 기본 Sign-In: Apple의 기본 Sign in with Apple 버튼 및 인증 흐름 사용
- 신원 토큰: Apple은 사용자 정보를 포함하는 신원 토큰(JWT) 반환
- Supabase 인증: 신원 토큰은
signInWithIdToken()을 사용하여 Supabase로 전송됨
도우미 함수는 iOS 플랫폼을 자동으로 감지하고 모든 것을 적절하게 구성합니다.
중요한 참고사항
Section titled “중요한 참고사항”번들 ID 구성
Section titled “번들 ID 구성”- iOS는 Apple Sign-In을 위해 앱의 번들 ID를 자동으로 사용합니다
- 번들 ID가 Apple Developer Portal에 구성된 것과 일치하는지 확인하세요
- 번들 ID에는 “Sign in with Apple” 기능이 활성화되어야 합니다
Supabase 클라이언트 ID
Section titled “Supabase 클라이언트 ID”Supabase에서 Apple 제공자를 다음과 같이 구성합니다:
- Client ID: iOS 앱 ID(번들 ID) - 예:
app.capgo.plugin.SocialLogin
Android/Web도 사용하는 경우 Supabase의 Client ID 필드에서 앱 ID와 서비스 ID를 모두 제공해야 합니다(쉼표로 구분).
인증이 실패하면:
- 번들 ID 불일치: 번들 ID가 Xcode와 Apple Developer Portal에서 일치하는지 확인하세요
- 기능 활성화 안 됨: Xcode에서 “Sign in with Apple” 기능이 활성화되었는지 확인하세요
- Supabase 구성: 앱 ID가 Supabase Apple 제공자 설정에서 올바르게 구성되었는지 확인하세요
- 토큰 검증 실패: Apple에서 신원 토큰이 수신되고 있는지 확인하세요
- 예제 앱 코드를 참조하세요