Pengaturan Supabase Apple Login di iOS
Prasyarat
Section titled “Prasyarat”Panduan ini akan membantu Anda mengintegrasikan Apple Sign-In dengan Supabase Authentication di iOS. Diasumsikan Anda telah menyelesaikan:
Implementasi
Section titled “Implementasi”Implementasi lengkap tersedia di file supabaseAuthUtils.ts contoh aplikasi. Panduan ini menjelaskan konsep kunci dan cara menggunakannya.
Menggunakan Authentication Helper
Section titled “Menggunakan Authentication Helper”Fungsi authenticateWithAppleSupabase menangani seluruh alur autentikasi:
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();if (result.success) { console.log('Masuk:', result.user); // Navigasi ke area yang sudah diautentikasi} else { console.error('Kesalahan:', result.error);}Cara Kerjanya
Section titled “Cara Kerjanya”Di iOS, Apple Sign-In menggunakan implementasi native:
- Inisialisasi: Plugin menggunakan bundle ID aplikasi Anda secara otomatis (tidak perlu
clientId) - Sign-In Native: Menggunakan tombol Apple Sign in with Apple native dan alur autentikasi
- Identity Token: Apple mengembalikan identity token (JWT) yang berisi informasi pengguna
- Supabase Authentication: Identity token dikirim ke Supabase menggunakan
signInWithIdToken()
Fungsi helper secara otomatis mendeteksi platform iOS dan mengonfigurasi semuanya dengan tepat.
Catatan Penting
Section titled “Catatan Penting”Konfigurasi Bundle ID
Section titled “Konfigurasi Bundle ID”- iOS menggunakan bundle ID aplikasi Anda secara otomatis untuk Apple Sign-In
- Pastikan bundle ID Anda cocok dengan yang dikonfigurasi di Apple Developer Portal
- Bundle ID harus memiliki kemampuan “Sign in with Apple” yang diaktifkan
ID Klien Supabase
Section titled “ID Klien Supabase”Di Supabase, konfigurasikan penyedia Apple Anda dengan:
- Client ID: ID Aplikasi iOS Anda (bundle ID) - misalnya,
app.capgo.plugin.SocialLogin
Jika Anda juga menggunakan Android/Web, Anda perlu menyediakan ID Aplikasi dan ID Layanan di bidang ID Klien Supabase (dipisahkan dengan koma).
Pemecahan Masalah
Section titled “Pemecahan Masalah”Jika autentikasi gagal:
- Bundle ID tidak cocok: Verifikasi bundle ID Anda cocok di Xcode dan Apple Developer Portal
- Kemampuan tidak diaktifkan: Pastikan kemampuan “Sign in with Apple” diaktifkan di Xcode
- Konfigurasi Supabase: Verifikasi ID Aplikasi Anda dikonfigurasi dengan benar di pengaturan penyedia Apple Supabase
- Validasi token gagal: Periksa bahwa identity token diterima dari Apple
- Tinjau kode aplikasi contoh untuk referensi