내용으로 바로가기

__CAPGO_KEEP_0__ iOS 설정

필수 조건

필수 조건

이 가이드는 iOS에서 Apple Sign-In을 Supabase Authentication과 통합하는 데 도움이 될 것입니다. 다음을 이미 완료한 것으로 가정합니다:

구현은 다음에서 완전하게 제공됩니다.

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__ 예제 앱의 supabaseAuthUtils.ts 파일. 이 안내서에서는 주요 개념과 사용 방법을 설명합니다.

The 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은 네이티브 implementation을 사용합니다:

  1. 초기화: 플러그인은 앱의 번들 ID를 자동으로 사용합니다 (아무것도 필요하지 않습니다) clientId iOS 필요)
  2. Native Sign-In: Apple의 Native Sign in with Apple 버튼과 인증 흐름을 사용합니다.
  3. Identity Token: Apple은 사용자 정보를 포함하는 Identity Token (JWT) 을 반환합니다.
  4. Supabase Authentication: Identity Token은 Supabase로 전송됩니다. signInWithIdToken()

The helper function automatically detects the iOS platform and configures everything appropriately.

중요한 주의 사항

중요한 주의 사항 섹션

Bundle ID 설정

Bundle ID 설정 섹션
  • iOS는 앱의 번들 ID를 자동으로 Apple Sign-In에 사용합니다.
  • 앱의 번들 ID가 Apple Developer Portal에 구성된 것과 일치하는지 확인하십시오.
  • 번들 ID는 "Apple Sign-In" 기능이 활성화된 상태여야 합니다.

Supabase Client ID

제목 "Supabase Client ID"

Supabase에서 Apple 제공자에 다음을 구성하십시오:

  • Client ID: iOS 앱 ID (번들 ID) - 예를 들어 app.capgo.plugin.SocialLogin

Android/Web도 함께 사용하는 경우, Supabase의 Client ID 필드에 App ID와 Service ID를 모두 제공해야 합니다. (쉼표로 구분).

인증이 실패하는 경우:

  • Bundle ID 불일치: Xcode와 Apple Developer Portal에서 Bundle ID가 일치하는지 확인하세요
  • Apple 기능이 비활성화되었습니다: Xcode에서 'Apple 로그인' 기능이 활성화되어 있는지 확인하세요
  • Supabase 구성: Supabase Apple 제공자 설정에서 App ID가 올바르게 구성되어 있는지 확인하세요
  • 토큰 유효성 검사 실패: Apple에서 identity 토큰이 받혀 있는지 확인하세요
  • 예시 앱 참조용으로 code 편집 페이지