Lihat yang baru dari Firebase di Google I/O 2022. Pelajari lebih lanjut

Otentikasi dengan Firebase Menggunakan Sistem Otentikasi Kustom

Anda dapat mengintegrasikan Firebase Authentication dengan sistem autentikasi khusus dengan memodifikasi server autentikasi untuk menghasilkan token bertanda tangan khusus saat pengguna berhasil masuk. Aplikasi Anda menerima token ini dan menggunakannya untuk mengautentikasi dengan Firebase.

Sebelum kamu memulai

  1. Jika Anda belum melakukannya, ikuti langkah-langkah di panduan Memulai .
  2. Instal dan konfigurasikan Firebase Admin SDK . Pastikan untuk menginisialisasi SDK dengan kredensial yang benar untuk proyek Firebase Anda.

Otentikasi dengan Firebase

  1. Saat pengguna masuk ke aplikasi Anda, kirimkan kredensial masuk mereka (misalnya, nama pengguna dan sandi) ke server autentikasi Anda. Server Anda memeriksa kredensial dan, jika valid, membuat token Firebase khusus dan mengirimkan token kembali ke aplikasi Anda.

  2. Setelah Anda menerima token khusus dari server autentikasi, teruskan ke signInWithCustomToken() untuk membuat pengguna masuk:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unkown error.");
        }
    }
    

Langkah selanjutnya

Setelah pengguna membuat akun baru, akun ini disimpan sebagai bagian dari proyek Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam proyek Anda, apa pun metode masuk yang digunakan pengguna.

Di aplikasi Anda, Anda bisa mendapatkan informasi profil dasar pengguna dari objek User . Lihat Kelola Pengguna .

Di Aturan Keamanan Firebase Realtime Database dan Cloud Storage, Anda bisa mendapatkan ID pengguna unik pengguna yang masuk dari variabel auth , dan menggunakannya untuk mengontrol data apa yang dapat diakses pengguna.

Anda dapat mengizinkan pengguna masuk ke aplikasi Anda menggunakan beberapa penyedia autentikasi dengan menautkan kredensial penyedia autentikasi ) ke akun pengguna yang ada.

Untuk mengeluarkan pengguna, panggil signOut() :

await FirebaseAuth.instance.signOut();