Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Otentikasi dengan Firebase di JavaScript 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. Tambahkan Firebase ke proyek JavaScript Anda .
  2. Dapatkan kunci server proyek Anda:
    1. Buka halaman Akun Layanan di pengaturan proyek Anda.
    2. Klik Buat Kunci Pribadi Baru di bagian bawah Firebase Admin SDK pada halaman Akun Layanan .
    3. Pasangan kunci publik/pribadi akun layanan baru secara otomatis disimpan di komputer Anda. Salin file ini ke server otentikasi 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 mengembalikan token khusus jika valid.
  2. Setelah Anda menerima token khusus dari server autentikasi Anda, teruskan ke signInWithCustomToken untuk membuat pengguna masuk:

    Web version 9

    import { getAuth, signInWithCustomToken } from "firebase/auth";
    
    const auth = getAuth();
    signInWithCustomToken(auth, token)
      .then((userCredential) => {
        // Signed in
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ...
      });

    Web version 8

    firebase.auth().signInWithCustomToken(token)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });

Langkah selanjutnya

Setelah pengguna masuk untuk pertama kalinya, akun pengguna baru dibuat dan ditautkan ke kredensial—yaitu, nama pengguna dan sandi, nomor telepon, atau informasi penyedia autentikasi—yang digunakan pengguna untuk masuk. Akun baru ini disimpan sebagai bagian dari proyek Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam proyek Anda, terlepas dari cara pengguna masuk.

  • Di aplikasi Anda, cara yang disarankan untuk mengetahui status autentikasi pengguna Anda adalah dengan menyetel pengamat pada objek Auth . Anda kemudian bisa mendapatkan informasi profil dasar pengguna dari objek User . Lihat Kelola Pengguna .

  • Dalam 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 :

Web version 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Web version 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});