Lebih lanjut ke konten

Pengenalan Integrasi Supabase

GitHub

Panduan ini akan mengantumkan Anda melalui pengaturan Supabase Authentication dengan plugin Capacitor Login Sosial. Integrasi ini memungkinkan Anda menggunakan penyedia login sosial asli (Google, Apple, Facebook, Twitter) pada platform mobile sambil memanfaatkan Supabase Auth untuk autentikasi backend dan PostgreSQL untuk penyimpanan data.

  • Bagaimana mengonfigurasi Supabase Authentication
  • Bagaimana mengintegrasikan plugin Capacitor Login Sosial dengan Supabase Auth
  • Pengaturan Platform yang Spesifik untuk Android, iOS, dan Web
  • Bagaimana menghandle nonces secara aman untuk Supabase

Sebelum Anda memulai, pastikan Anda telah memiliki:

  1. Proyek Supabase

    • Membuat proyek di Dashboard Supabase
    • Mengaktifkan penyedia autentikasi Google
    • Mendapatkan URL proyek Supabase dan kunci anonim
  2. Supabase JS SDK

    • Instal Supabase di proyek Anda:
      Tampilan jendela terminal
      npm install @supabase/supabase-js
  3. Membuat Capacitor Project

    • Menggunakan aplikasi Capacitor yang sudah ada
    • Plugin autentikasi sosial Capacitor terinstal:
      Tampilan jendela terminal
      npm install @capgo/capacitor-social-login
      npx cap sync
  4. Pengaturan Google yang Spesifik untuk Platform

Contoh aplikasi yang lengkap tersedia di repository:

Code Repository: Anda dapat menemukan repository code di sini

Aplikasi contoh menunjukkan:

  • Autentikasi email/password dengan Supabase
  • Integrasi Sign-In Google (Android, iOS, dan Web)
  • Penyimpanan nilai kunci dengan menggunakan tabel PostgreSQL Supabase
  • Penggunaan penyimpanan data spesifik pengguna dengan Level Keamanan Baris (RLS)

Supabase memerlukan pengelolaan nonce khusus untuk keamanan. Implementasi mengikuti dokumentasi Sign In Google React Native Buat sebuah:

  • (string acak aman URL) rawNonce email/password authentication with Supabase
  • Hash dengan SHA-256 untuk mendapatkan nonceDigest
  • Pass nonceDigest ke Google Sign-In
  • Pass rawNonce ke Supabase (Supabase menghashinya secara internal untuk perbandingan)

Contoh implementasi termasuk validasi JWT untuk memastikan:

  • Token audiens sesuai dengan ID Klien Google yang telah dikonfigurasi
  • Nonce sesuai dengan digest yang diharapkan
  • Ulangi secara otomatis pada gagal validasi (terutama penting untuk iOS)

Pertimbangan Spesifik Platform

Platform-Specific Considerations
  • iOS: Token caching dapat menyebabkan masalah nonce - implementasi ini menangani hal ini secara otomatis
  • Web: Harus dipanggil isLoggedIn() On mount untuk menghandle redirect OAuth
  • Android: Implementasi standar dengan konfigurasi fingerprint SHA-1

Teruskan dengan panduan pengaturan:

Teruskan dari Pengenalan Integrasi Supabase

Bab berjudul “Teruskan dari Pengenalan Integrasi Supabase”

Jika Anda menggunakan Pengenalan Integrasi Supabase untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-social untuk kemampuan native di Menggunakan @capgo/capacitor-login-social Menggunakan @capgo/capacitor-login-social untuk detail implementasi di @capgo/capacitor-login-social @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.