Lompat ke konten

Supabase Google Login pada Android

GitHub

Panduan ini akan membantu Anda mengintegrasikan Sign-In Google dengan Supabase Authentication pada Android. Diperkirakan Anda telah menyelesaikan:

Implementasi lengkap tersedia dalam aplikasi contoh’s supabaseAuthUtils.ts file. Ini adalah panduan yang menjelaskan konsep-konsep utama dan cara menggunakan aplikasi ini.

The authenticateWithGoogleSupabase fungsi ini mengelola 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 rinci tentang bagaimana alur autentikasi bekerja, termasuk penggunaan nonce, validasi JWT, dan sign-in Supabase, lihat bagian Bagaimana Cara Kerjanya di Panduan Pengaturan Umum.

Untuk referensi lengkap code, lihat bagian Referensi Lengkap Code di Panduan Pengaturan Umum.

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

  • rawNonce berpindah ke Supabase’s signInWithIdToken()
  • Supabase membuat hash dari rawNonce dan membandingkannya dengan nonceDigest yang termasuk dalam token ID dari Google Sign-In
  • nonceDigest (hash SHA-256, hex-encoded) berpindah ke nonce parameter dalam API Google Sign-In

Implementasinya termasuk logika retry otomatis:

  • Jika validasi JWT gagal pada usaha pertama, maka keluar dan mencoba sekali lagi
  • Hal ini menangani kasus-kasus di mana token yang disimpan mungkin memiliki nonce yang salah
  • Jika usaha retry juga gagal, maka error dikembalikan

Jika autentikasi gagal:

  • Audien tidak valid: Pastikan ID Klien Google Anda sesuai di kedua Google Cloud Console dan Supabase
  • Perbedaan nonce: Periksa log konsol - fungsi akan secara otomatis mengulang, tetapi Anda dapat keluar secara manual jika diperlukan
  • Validasi token gagal: Pastikan Anda menggunakan mode: 'online' dalam panggilan inisialisasi untuk mendapatkan idToken
  • Lihat contoh aplikasi __CAPGO_KEEP_0__ example app code Lanjutkan dari Supabase Google Login on Android

untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Bagian berjudul “Lanjutkan dari Supabase Google Login on Android” Jika Anda menggunakan Supabase Google Login on Android Menggunakan @capgo/capacitor-login-sosial untuk kemampuan asli dalam Menggunakan @capgo/capacitor-login-sosial, @capgo/capacitor-login-sosial untuk detail implementasi dalam @capgo/capacitor-login-sosial, @capgo/capacitor-passkey untuk detail implementasi dalam @capgo/capacitor-passkey, @capgo/capacitor-biometrik-asli untuk detail implementasi dalam @capgo/capacitor-biometrik-asli, dan Autentikasi dua-faktor untuk detail implementasi dalam Autentikasi dua-faktor.