Lompat ke konten

Supabase Apple Login di Web

GitHub

Panduan ini akan membantu Anda mengintegrasikan Sign-In Apple dengan Autentikasi Supabase di Web. Diperkirakan bahwa Anda telah menyelesaikan:

Implementasi

Bab Implementasi

Implementasi lengkap tersedia di contoh aplikasi’s supabaseAuthUtils.ts file. Panduan ini menjelaskan konsep utama dan cara menggunakan fitur ini.

Menggunakan Bantuan Autentikasi

Bab Menggunakan Bantuan Autentikasi

Fungsi ini mengelola seluruh alur autentikasi: authenticateWithAppleSupabase __CAPGO_KEEP_0__

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

Di Web, Sign-In Apple menggunakan aliran popup OAuth:

  1. Inisialisasi: Plugin diinisialisasi dengan ID Layanan Anda dan URL halaman saat ini sebagai URL redirect
  2. Popup OAuth: Membuka jendela popup dengan halaman OAuth Apple
  3. Autentikasi Pengguna: Pengguna autentikasi dengan Apple di popup
  4. Token Identitas: Apple mengembalikan token identitas (JWT) yang berisi informasi pengguna
  5. Autentikasi Supabase: Token identitas dikirimkan ke Supabase menggunakan signInWithIdToken()

Fungsi bantuan secara otomatis mendeteksi platform web dan mengkonfigurasi semuanya dengan tepat.

  • Web memerlukan ID Layanan Apple Anda (sama seperti Android)
  • ID Layanan harus dikonfigurasi di Portal Pengembang Apple dengan URL Pengembalian yang benar
  • Pastikan domain Anda ditambahkan ke domain yang diizinkan di Portal Pengembang Apple
  • On web, URL pengalihan otomatis diatur ke window.location.href (URL halaman saat ini)
  • Ini harus sesuai dengan salah satu URL Pengembalian yang dikonfigurasi di Portal Pengembang Apple
  • Pastikan URL dengan dan tanpa slash akhir dikonfigurasi di Portal Pengembang Apple

Pada Supabase, konfigurasi penyedia Apple Anda dengan:

  • ID Klien: ID Layanan Apple Anda (misalnya com.example.app.service)

Jika Anda juga menggunakan iOS, Anda perlu menyediakan baik ID Aplikasi dan ID Layanan di bidang ID Klien Supabase (dipisahkan koma).

Ketika menggunakan authenticateWithAppleSupabase fungsi bantuan, Anda harus mengupdate clientId untuk sesuai dengan 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 Web and Android
redirectUrl: redirectUrl,
},
});

Jika autentikasi gagal:

  • Tidak cocok Service ID : Periksa apakah ID Layanan Anda sesuai di Portal Pengembang Apple dan code Anda
  • URL Kembali tidak dikonfigurasi : Pastikan URL halaman Anda saat ini (dengan dan tanpa tanda slash akhir) dikonfigurasi di Portal Pengembang Apple
  • Pop-up diblokir : Periksa pengaturan browser - beberapa browser memblokir pop-up secara default
  • Domain tidak diizinkan : Periksa apakah domain Anda telah ditambahkan ke domain yang diizinkan di Portal Pengembang Apple
  • Konfigurasi Supabase : Periksa apakah ID Layanan Anda dikonfigurasi dengan benar di pengaturan penyedia Apple Supabase
  • Tinjau kembali contoh aplikasi code untuk referensi

Lanjutkan dari Supabase Apple Login di Web

Judul bagian “Lanjutkan dari Supabase Apple Login di Web”

Jika Anda menggunakan Supabase Apple Login di Web untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-sosial untuk kemampuan asli di Menggunakan @capgo/capacitor-login-sosial, @capgo/capacitor-login-sosial untuk detail implementasi di @capgo/capacitor-login-sosial, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor.