Langsung ke konten

Supabase Google Login di Android

GitHub

Panduan ini akan membantu Anda mengintegrasikan Google Sign-In dengan Supabase Authentication di Android. Kami mengasumsikan Anda sudah menyelesaikan:

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

Panduan authenticateWithGoogleSupabase function menangani seluruh alur autentikasi:

import { authenticateWithGoogleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithGoogleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

Untuk penjelasan detail mengenai cara kerja alur autentikasi, termasuk pembuatan nonce, validasi JWT, dan sign-in Supabase, lihat bagian How It Works di panduan General Setup.

Untuk referensi lengkap code, lihat Lengkapi bagian Referensi Code di panduan General Setup.

Implementasi nonce mengikuti pola dari dokumentasi React Native Google Sign In:

  • rawNonce dikirim ke Supabase signInWithIdToken()
  • Supabase membuat hash dari rawNonce dan membandingkannya dengan nonceDigest yang disertakan dalam ID token dari Google Sign-In
  • nonceDigest (hash SHA-256, hex-encoded) dikirim ke nonce parameter pada Google Sign-In APIs

Implementasinya mencakup logika automatic retry:

  • Jika validasi JWT gagal pada percobaan pertama, sistem akan logout dan mencoba sekali lagi
  • Ini menangani kasus di mana token yang di-cache mungkin memiliki nonce yang salah
  • Jika retry juga gagal, error akan dikembalikan

Jika autentikasi gagal:

  • Audience tidak valid: Pastikan Google Client IDs Anda sudah sesuai di Google Cloud Console dan Supabase
  • Nonce tidak cocok: Cek console logs - fungsi akan mencoba lagi secara otomatis, tapi Anda bisa logout manual terlebih dahulu jika perlu
  • Validasi token gagal: Pastikan Anda menggunakan mode: 'online' pada pemanggilan initialize untuk mendapatkan idToken
  • Tinjau aplikasi contoh code sebagai referensi

Lanjutkan dari Supabase Google Login di Android

Bagian berjudul “Lanjutkan dari Supabase Google Login di Android”

Jika Anda menggunakan Supabase Google Login di Android untuk merencanakan alur autentikasi dan akun, hubungkan dengan Menggunakan @capgo/capacitor-social-login untuk kapabilitas native di Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-social-login untuk detail implementasi di @capgo/capacitor-social-login, @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.