Pengguna dalam Project Firebase

Objek Firebase User mewakili akun dari pengguna yang telah mendaftar ke suatu aplikasi dalam project Anda. Aplikasi biasanya memiliki banyak pengguna yang terdaftar di dalamnya, dan setiap aplikasi dalam project saling berbagi database pengguna.

Instance Firebase User tidak bergantung pada instance Firebase Authentication. Artinya, Anda dapat memiliki beberapa referensi untuk pengguna yang berbeda dalam konteks yang sama dan tetap memanggil metode mereka.

Properti pengguna

Firebase User memiliki kumpulan tetap properti dasar, yaitu ID unik, alamat email primer, nama, dan URL foto, yang tersimpan dalam database pengguna project dan dapat diperbarui oleh pengguna (iOS, Android, web). Anda tidak dapat menambahkan properti lain ke objek Firebase User secara langsung. Namun, Anda dapat menyimpan properti tambahan di layanan penyimpanan lain seperti Google Cloud Firestore.

Saat pertama kali pengguna mendaftar ke aplikasi Anda, data profil pengguna tersebut akan diisi menggunakan informasi yang tersedia:

  • Jika pengguna mendaftar dengan alamat email dan sandi, hanya properti alamat email utama yang akan diisi
  • Jika pengguna mendaftar dengan penyedia identitas gabungan, seperti Google atau Facebook, informasi akun yang disediakan oleh penyedia digunakan untuk mengisi profil Firebase User
  • Jika pengguna mendaftar dengan sistem autentikasi kustom, Anda harus secara eksplisit menambahkan informasi yang diinginkan ke profil Firebase User

Setelah akun pengguna dibuat, Anda dapat memuat ulang informasi pengguna tersebut agar menyertakan perubahan yang mungkin telah dibuat oleh si pengguna pada perangkat lain.

Penyedia proses login

Anda dapat membuat pengguna login ke aplikasi melalui beberapa metode: alamat email dan sandi, penyedia identitas gabungan, dan sistem autentikasi kustom. Anda dapat mengaitkan lebih dari satu metode login dengan suatu pengguna: misalnya, pengguna dapat login ke akun yang sama menggunakan alamat email dan sandi, atau menggunakan Login dengan Google.

Instance Firebase User mencatat setiap penyedia yang terhubung dengan pengguna. Hal ini memungkinkan Anda untuk mengupdate properti profil kosong menggunakan informasi yang diberikan oleh penyedia. Baca bagian Mengelola Pengguna (iOS, Android, web).

Pengguna aktif

Ketika pengguna mendaftar atau login, pengguna tersebut menjadi pengguna aktif dari instance Auth. Instance ini mempertahankan status pengguna, sehingga memuat ulang halaman (pada browser) atau memulai ulang aplikasi tidak akan menghapus informasi pengguna ini.

Ketika pengguna logout, instance Auth berhenti menyimpan referensi ke objek User dan tidak lagi mempertahankan statusnya; tidak ada pengguna yang aktif saat ini. Namun, instance pengguna tetap berfungsi sepenuhnya: jika Anda menyimpan referensi ke sana, Anda masih dapat mengakses dan mengupdate data pengguna.

Siklus proses pengguna

Cara yang direkomendasikan untuk melacak status instance Auth saat ini adalah dengan menggunakan listener (juga disebut "observer" pada JavaScript). Listener Auth akan dikirimi pemberitahuan setiap kali sesuatu yang relevan terjadi pada objek Auth. Baca bagian Mengelola Pengguna (iOS, Android, web).

Listener Auth akan diberi tahu jika terjadi situasi berikut:

  • Objek Auth selesai melakukan inisialisasi dan pengguna sudah login dari sesi sebelumnya atau telah dialihkan dari alur login penyedia identitas
  • Pengguna login (pengguna aktif ditetapkan)
  • Pengguna logout (pengguna aktif menjadi null)
  • Token akses pengguna aktif dimuat ulang. Hal ini dapat terjadi dalam keadaan berikut:
    • Token akses berakhir: ini yang biasa terjadi. Token refresh digunakan untuk memperoleh sekumpulan token valid yang baru.
    • Pengguna mengubah sandinya: Firebase menerbitkan akses baru dan token refresh, kemudian token lama dibuat tidak berlaku lagi. Ini secara otomatis membuat token pengguna tidak berlaku dan/atau membuat pengguna logout dari setiap perangkat untuk alasan keamanan.
    • Pengguna melakukan autentikasi ulang: beberapa tindakan mengharuskan bahwa kredensial pengguna diterbitkan baru-baru ini; tindakan tersebut termasuk menghapus akun, menentukan alamat email utama, dan mengubah sandi. Daripada membuat pengguna logout kemudian login lagi, dapatkan kredensial baru dari pengguna dan teruskan kredensial baru tersebut ke metode autentikasi ulang dari objek User.

Token Auth

Ketika Anda melakukan autentikasi dengan Firebase, ada tiga jenis token auth yang mungkin Anda temui:

Token ID Firebase Dibuat oleh Firebase saat pengguna login ke aplikasi Firebase. Token ini adalah JWT yang ditandatangani yang mengidentifikasi pengguna dalam project Firebase secara aman. Token ini berisi informasi profil dasar untuk pengguna, termasuk string ID pengguna yang unik untuk project Firebase. Karena integritas token ID dapat diverifikasi, Anda dapat mengirimkannya ke server backend untuk mengidentifikasi pengguna yang login saat ini.
Token penyedia identitas Dibuat oleh penyedia identitas bersama, seperti Google dan Facebook. Token ini dapat memiliki format yang berbeda, namun sering kali menggunakan token akses OAuth 2.0. Aplikasi Firebase menggunakan token ini untuk memastikan bahwa pengguna telah berhasil diautentikasi dengan penyedia identitas, kemudian mengubahnya menjadi kredensial yang dapat digunakan oleh layanan Firebase.
Token kustom Firebase Dibuat oleh sistem autentikasi kustom agar pengguna bisa login ke aplikasi menggunakan sistem autentikasi Anda. Token kustom adalah JWT yang ditandatangani menggunakan kunci pribadi akun layanan. Aplikasi menggunakan token ini dengan cara yang sama seperti saat menggunakan token yang diperoleh dari penyedia identitas gabungan.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.