iOS에서 Supabase Apple Login 설정
이 플러그인의 설치 단계와 전체 마크다운 가이드가 포함된 설정 프롬프트를 복사하세요.
사전 요구사항
“사전 준비 사항” 섹션이 가이드는 iOS에서 Supabase Authentication에 Apple Sign-In을 연동하는 방법을 안내합니다. 다음 단계는 이미 완료했다고 가정합니다:
구현 방법
“구현” 섹션전체 구현 코드는 예제 앱의 supabaseAuthUtils.ts 파일에서 확인할 수 있습니다. 이 가이드에서는 핵심 개념과 사용 방법을 설명합니다.
Authentication Helper 사용하기
“Authentication Helper 사용” 섹션이 authenticateWithAppleSupabase 함수는 전체 인증 흐름을 처리합니다:
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();if (result.success) { console.log('Signed in:', result.user); // Navigate to your authenticated area} else { console.error('Error:', result.error);}작동 원리
“작동 원리” 섹션iOS에서 Apple Sign-In은 다음과 같은 native 구현 방식을 사용합니다:
- 초기화: 이 plugin은 앱의 bundle ID를 자동으로 사용합니다 (별도의
clientId필요 시) - 네이티브 로그인: Apple의 native Sign in with Apple 버튼과 인증 흐름을 사용합니다.
- Identity Token: Apple은 사용자 정보가 담긴 identity token(JWT)을 반환합니다.
- Supabase 인증: identity token은 다음을 통해 Supabase로 전송됩니다.
signInWithIdToken()
helper function이 iOS 플랫폼을 자동으로 감지하고 모든 설정을 알맞게 구성합니다.
주의사항
“중요 사항” 섹션Bundle ID 설정
“Bundle ID 설정” 섹션- iOS는 Apple Sign-In 시 앱의 bundle ID를 자동으로 사용합니다
- bundle ID가 Apple Developer Portal에 설정된 값과 일치하는지 확인하세요
- bundle ID에 “Sign in with Apple” 기능이 활성화되어 있어야 합니다
Supabase Client ID
“Supabase Client ID” 섹션Supabase에서 Apple provider를 다음과 같이 설정하세요:
- 클라이언트 ID: iOS App ID (bundle ID) - 예:
app.capgo.plugin.SocialLogin
Android/Web도 함께 사용하는 경우, Supabase의 Client ID 필드에 App ID와 Service ID를 모두 입력해야 합니다 (쉼표로 구분).
문제 해결
“문제 해결” 섹션인증에 실패하는 경우:
- Bundle ID 불일치: Xcode와 Apple Developer Portal의 bundle ID가 일치하는지 확인하세요
- Capability가 활성화되지 않음: Xcode에서 “Sign in with Apple” capability가 활성화되어 있는지 확인하세요
- Supabase 설정: Supabase Apple provider 설정에 App ID가 올바르게 구성되었는지 확인하세요
- Token 검증 실패: Apple로부터 identity token을 정상적으로 받고 있는지 확인하세요
- 다음을 참고하세요: 예제 앱 code 참고용
iOS 설정에서 Supabase Apple Login 계속하기
“iOS에서 Supabase Apple Login 설정 계속하기” 섹션사용 중이라면 iOS에서 Supabase Apple Login 설정 인증 및 계정 흐름을 설계할 때, 이를 다음 항목과 연결하세요: @capgo/capacitor-social-login 사용하기 @capgo/capacitor-social-login 사용 시 네이티브 기능을 위해, @capgo/capacitor-social-login @capgo/capacitor-social-login의 구현 세부 사항은, @capgo/capacitor-passkey @capgo/capacitor-passkey의 구현 세부 사항은 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric의 구현 세부 사항은, 2단계 인증 2단계 인증의 구현 세부 사항에 대해서는