Langsung ke konten

Pengaturan Supabase Apple Login di iOS

Panduan ini akan membantu Anda mengintegrasikan Apple Sign-In dengan Supabase Authentication di iOS. Diasumsikan Anda telah menyelesaikan:

Implementasi lengkap tersedia di file supabaseAuthUtils.ts contoh aplikasi. Panduan ini menjelaskan konsep kunci dan cara menggunakannya.

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);
}

Di iOS, Apple Sign-In menggunakan implementasi native:

  1. Inisialisasi: Plugin menggunakan bundle ID aplikasi Anda secara otomatis (tidak perlu clientId)
  2. Sign-In Native: Menggunakan tombol Apple Sign in with Apple native dan alur autentikasi
  3. Identity Token: Apple mengembalikan identity token (JWT) yang berisi informasi pengguna
  4. Supabase Authentication: Identity token dikirim ke Supabase menggunakan signInWithIdToken()

Fungsi helper secara otomatis mendeteksi platform iOS dan mengonfigurasi semuanya dengan tepat.

  • 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

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).

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