Login Apple Supabase di Android
Copy prompt pengaturan dengan langkah-langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Persyaratan
Bab yang berjudul “Persyaratan”Panduan ini akan membantu Anda mengintegrasikan Sign-In Apple dengan Supabase Authentication pada Android. Diperkirakan Anda telah menyelesaikan:
Langkah 1: Deploy Fungsi Backend Edge
Bab yang berjudul “Langkah 1: Deploy Fungsi Backend Edge”Pertama, kami perlu mengdeploy Fungsi Edge Supabase yang akan menghandle panggilan balik OAuth Apple.
-
Navigasikan ke direktori proyek Supabase Anda
Jendela terminal cd your-project/supabase -
Buat fungsi edge Jika tidak ada
Jendela terminal supabase functions new apple-signin-callback -
Salin fungsi edge code
Implementasi fungsi edge lengkap tersedia di aplikasi contoh Salin berikut file ke proyek Anda:.
- Fungsi edge utama __CAPGO_KEEP_0__
supabase/functions/apple-signin-callback/index.ts- Main edge function codesupabase/functions/apple-signin-callback/deno.json- Peta import untuk dependensi (termasukjoselibrary untuk tanda tangan JWT)
-
Konfigurasi verifikasi JWT
Endpoint panggilan balik OAuth Apple haruslah publik (tidak memerlukan autentikasi) karena Apple akan mengarahkan ke sana. Perbarui file:
supabase/config.tomlSalin ke clipboard[functions.apple-signin-callback]enabled = trueverify_jwt = false # Important: Set to false for public OAuth callbackimport_map = "./functions/apple-signin-callback/deno.json"entrypoint = "./functions/apple-signin-callback/index.ts" -
Jendela terminal
Setting supabase functions deploy apple-signin-callback -
Temukan URL fungsi Anda
Setelah di-deploy, Anda akan mendapatkan URL seperti:
https://your-project-ref.supabase.co/functions/v1/apple-signin-callbackJika Anda tidak menemukannya, Anda dapat melakukan hal berikut:
- Buka
https://supabase.com/dashboard/project/YOUR_PROJECT_REF/functions - Klik pada URL
apple-signin-callbackfungsi untuk menyalinnya.
- Buka
Langkah 2: Konfigurasi Portal Pengembang Apple
Judul Bagian: Langkah 2: Konfigurasi Portal Pengembang AppleSekarang kita perlu mengonfigurasi Portal Pengembang Apple dengan URL backend dan mendapatkan semua nilai yang diperlukan.
-
Ikuti Panduan Pengaturan Login Apple Android
Selesai dengan Panduan Pengaturan Login Apple Android untuk:
- Membuat ID Layanan
- Menghasilkan kunci pribadi (.p8 file)
- Oleh karena itu, dapatkan ID Tim dan Kunci ID Anda
- Konfigurasi URL Kembali
-
Setel URL Kembali di Portal Pengembang Apple
Ketika mengonfigurasi URL Kembali di Portal Pengembang Apple (langkah 6.9 dari panduan Apple), gunakan URL Fungsi Puncak Supabase Anda:
https://your-project-ref.supabase.co/functions/v1/apple-signin-callbackPenting: Gunakan URL Fungsi Puncak Supabase Anda
TIDAK BOLEH gunakan URL redirect dari Petunjuk Pengaturan Login Apple Android. Panduan tersebut menggunakan URL server backend khusus. Untuk integrasi Supabase, Anda harus gunakan URL Fungsi Puncak Supabase Anda.
-
Kumpulkan semua nilai yang diperlukan
Setelah menyelesaikan panduan pengaturan Apple, Anda harus memiliki:
- APPLE_TEAM_ID: ID Tim Pengembang Apple Anda
- APPLE_KEY_ID: ID Kunci dari Portal Pengembang Apple
- APPLE_PRIVATE_KEY: File kunci pribadi Anda (.p8) yang harus dikodekan base64
- ID Layanan Android: ID Layanan Apple Anda (misalnya,
com.example.app.service) - URL Redirect Dasar: URL tautan dalam yang dalam (misalnya,
capgo-demo-app://path)
Langkah 3: Atur Rahasia Supabase
Judul bagian “Langkah 3: Atur Rahasia Supabase”Sekarang kita perlu mengatur variabel lingkungan (rahasia) untuk Fungsi Edge Supabase.
-
Enkripsi kunci pribadi Anda
Pertama, enkripsi kunci pribadi Apple (.p8 file) ke base64:
Jendela terminal base64 -i AuthKey_XXXXX.p8Salin seluruh output (ini adalah string panjang tunggal).
-
Atur rahasia menggunakan Supabase CLI
Jendela terminal supabase secrets set APPLE_TEAM_ID=your_team_idsupabase secrets set APPLE_KEY_ID=your_key_idsupabase secrets set APPLE_PRIVATE_KEY=your_base64_encoded_keysupabase secrets set ANDROID_SERVICE_ID=your.service.idsupabase secrets set BASE_REDIRECT_URL=your-app://pathsupabase secrets set APPLE_REDIRECT_URI=https://your-project-ref.supabase.co/functions/v1/apple-signin-callback -
Alternatif: Atur rahasia di Dashboard Supabase
Jika Anda lebih suka menggunakan dashboard:
- Pergi ke dashboard proyek Supabase Anda
- Navigasikan ke Edge Functions → Pengaturan → Rahasia
- Tambahkan variabel rahasia masing-masing dengan nilai
Bagian berjudul "Langkah 4: Gunakan Bantuan Autentikasi"
Langkah 4: Gunakan Bantuan AutentikasiKini Anda dapat menggunakan bantuan autentikasi di aplikasi Anda code.
Implementasi
Bab berjudul “Implementasi”Implementasi lengkap tersedia di contoh aplikasi’s supabaseAuthUtils.ts file.
Menggunakan Bantuan Autentikasi
Bab berjudul “Menggunakan Bantuan Autentikasi”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);}Perbarui Fungsi Bantuan
Bab berjudul “Perbarui Fungsi Bantuan”Ketika menggunakan authenticateWithAppleSupabase Fungsi bantuan, Anda wajib perbarui nilai-nilai berikut untuk sesuai dengan konfigurasi Anda:
-
Perbarui
redirectUrl- Atur ini ke URL Fungsi Edge Supabase Anda:const redirectUrl = platform === 'android'? 'https://your-project-ref.supabase.co/functions/v1/apple-signin-callback': undefined; -
Perbarui
clientId- Atur ini ke ID Layanan Apple Anda:await SocialLogin.initialize({apple: {clientId: isIOS? undefined // iOS uses bundle ID automatically: 'your.service.id.here', // Your Apple Service ID for AndroidredirectUrl: redirectUrl,},});
Lihat implementasi lengkap sebagai referensi.
Langkah 5: Uji Integrasi
Bagian berjudul “Langkah 5: Uji Integrasi”-
Bangun dan jalankan aplikasi Android Anda
Jendela Terminal npx cap sync androidnpx cap run android -
Uji alur autentikasi
- Ketuk tombol “Masuk dengan Apple”
- Anda harus melihat halaman OAuth Apple di browser
- Setelah otentikasi, Anda harus diarahkan kembali ke aplikasi Anda
- Periksa log konsol untuk kesalahan apa pun
-
Verifikasi aliran
Aliran lengkap harus seperti ini:
- Pengguna mengetuk “Masuk dengan Apple”
- Aplikasi membuka browser dengan Apple OAuth
- Pengguna otentikasi dengan Apple
- Apple mengarahkan ke:
https://your-project-ref.supabase.co/functions/v1/apple-signin-callback - Fungsi Edge menukar code dengan token
- Fungsi Edge mengarahkan ke:
your-app://path?id_token=...&access_token=... - Aplikasi Android menerima tautan dalam dan memproses token identitas
- App mengakses Supabase dengan token identitas
Troubleshooting
PengaturanJika proses autentikasi gagal:
- URI Redirect tidak sesuaiPastikan URL Pengembalian di Portal Pengembang Apple sesuai dengan
APPLE_REDIRECT_URIrahasianya - Tautan dalam tidak berfungsiPeriksa bahwa
AndroidManifest.xmlfilter intent sesuai denganBASE_REDIRECT_URL - Rahasia hilangPastikan semua rahasia telah disetel dengan benar menggunakan
supabase secrets list - Kegagalan pertukaran token: Periksa log fungsi tepi di Dashboard Supabase untuk pesan kesalahan rinci
- Gagal menerima panggilan balik: Pastikan
onNewIntenttelah diimplementasikan dengan benar di MainActivity - Review contoh aplikasi __CAPGO_KEEP_0__ example app code Bagaimana Cara Kerjanya
context: Halaman pembangun Capgo / produk halaman pembangun native cloud. Peran: Judul bagian atau halaman. Pesan kunci `native_build_how_it_works_title` (Judul Pembangun Native Bagaimana Cara Kerjanya). | Halaman: Bagian masalah/solusi halaman utama. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman premium-support.astro. Pesan kunci `ps_how_it_works` (Ps Bagaimana Cara Kerjanya). | Halaman: Halaman produk update hidup. Peran: Judul bagian atau halaman. Dilihat di: halaman live-update.astro. Pesan kunci `live_update_how_it_works_title` (Judul Update Hidup Bagaimana Cara Kerjanya).
Judul bagian berjudul “Bagaimana Cara Kerjanya”Pada Android, Sign-In Apple menggunakan aliran redirect OAuth:
- Inisialisasi: Plugin ini diinisialisasi dengan ID Layanan dan URL Redirect Backend Anda
- Alur OAuth: Membuka browser/Tab Chrome Kustom dengan halaman OAuth Apple
- Callback Backend: Apple mengarahkan ke fungsi Edge Supabase Anda dengan otorisasi code
- Antar Token: Fungsi Edge mengganti code dengan token menggunakan endpoint token Apple
- Redirect Deep Link: Fungsi Edge mengarahkan kembali ke aplikasi Anda dengan token identitas
- Autentikasi Supabase: Aplikasi menerima token dan masuk ke Supabase
Alur ini diperlukan karena Apple tidak menyediakan dukungan native Android untuk Sign in dengan Apple.
Teruskan dari Supabase Login Apple di Android
Judul Bagian: Teruskan dari Supabase Login Apple di AndroidJika Anda menggunakan Supabase Login Apple di Android untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-berbasis-sosial untuk kemampuan native di Menggunakan @capgo/capacitor-login-berbasis-sosial, @capgo/capacitor-login-berbasis-sosial untuk detail implementasi di @capgo/capacitor-login-berbasis-sosial, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik-native untuk detail implementasi di @capgo/capacitor-native-biometric, dan Dua Faktor Autentikasi untuk detail implementasi di Dua Faktor Autentikasi.