Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata · Pelajaran

Mengurus Sesi dan Keadaan Pengguna

Pelajari cara memantau keadaan pengesahan pengguna, mengekalkan sesi dan mengurus profil pengguna dengan selamat

Pelajaran 2 daripada 411 langkah

Mengurus Sesi dan Keadaan Pengguna ialah pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata merangkumi sejumlah 4 pelajaran.

Pengenalan Sesi & Keadaan Pengguna

Selamat datang! Dalam pelajaran ini, kita akan mendalami pengurusan sesi pengguna dan memahami keadaan pengesahan dalam Firebase. Kedua-duanya penting untuk membina aplikasi yang selamat dan mudah digunakan.

Kita akan membincangkan cara untuk:

  • Memantau apabila pengguna melog masuk atau keluar.
  • Mengekalkan pengguna supaya terus log masuk selepas aplikasi dimulakan semula.
  • Mengemas kini maklumat profil pengguna.

Menjejaki Status Pengguna

Firebase Authentication menyediakan cara yang berkuasa untuk memantau status log masuk pengguna dalam masa nyata. Perkara ini dilakukan menggunakan "pendengar keadaan pengesahan".

  • Ia memberitahu aplikasi anda sama ada pengguna sedang log masuk atau telah log keluar.
  • Ia dicetuskan setiap kali keadaan pengesahan pengguna berubah (contohnya, log masuk, log keluar atau penyegaran token).
  • Ciri ini sesuai untuk mengemas kini elemen UI atau mengubah hala pengguna.

Pendengar Keadaan Pengesahan Langsung

Begini cara menyediakan pendengar keadaan pengesahan. Ia merupakan bahagian penting untuk menjadikan aplikasi anda bertindak balas terhadap log masuk dan log keluar pengguna.

Contoh ini menganggap Firebase telah dimulakan dan perkhidmatan auth tersedia.

import { getAuth, onAuthStateChanged } from "firebase/auth";
const auth = getAuth();

// This function will be called whenever the auth state changes
onAuthStateChanged(auth, (user) => {
  if (user) {
    // User is signed in
    console.log("User logged in:", user.email);
    // You can access user.uid, user.displayName, etc.
  } else {
    // User is signed out
    console.log("No user logged in.");
  }
});

console.log("Auth state listener set up.");

Penjelasan Pengekalan Sesi

Bayangkan pengguna anda log masuk, menutup aplikasi dan membukanya semula, tetapi mendapati mereka telah dilog keluar. Mengecewakan, bukan?

Firebase Auth menyelesaikan masalah ini dengan "pengekalan sesi". Ciri ini membolehkan anda menentukan tempoh sesi log masuk pengguna, walaupun selepas mereka menutup pelayar atau aplikasi.

  • Firebase menyimpan kelayakan pengguna dengan selamat.
  • Ia mengesahkan semula pengguna secara automatik apabila mereka kembali.

Memilih Pilihan Pengekalan

Firebase menawarkan tahap pengekalan sesi yang berbeza untuk memenuhi pelbagai keperluan aplikasi:

  • LOCAL: Sesi pengguna dikekalkan walaupun tetingkap pelayar ditutup. (Lalai untuk web)
  • SESSION: Sesi hanya dikekalkan untuk sesi pelayar semasa. Sesi ini dikosongkan apabila tetingkap ditutup.
  • NONE: Tiada pengekalan sesi. Pengguna dilog keluar apabila halaman dimuat semula atau aplikasi dimulakan semula.

Menyesuaikan Pengekalan Sesi

Anda boleh menetapkan tahap ketekalan yang dikehendaki sebelum pengguna log masuk. Ini memberitahu Firebase cara mengendalikan sesi untuk log masuk tertentu itu.

Berikut ialah contoh menetapkannya kepada SESSION untuk log masuk sementara.

import { getAuth, setPersistence, browserSessionPersistence } from "firebase/auth";
const auth = getAuth();

// Set persistence to SESSION
setPersistence(auth, browserSessionPersistence)
  .then(() => {
    console.log("Persistence set to SESSION.");
    // Now you can sign in your user
    // signInWithEmailAndPassword(auth, email, password);
  })
  .catch((error) => {
    console.error("Error setting persistence:", error.message);
  });

console.log("Attempting to set persistence...");

Mengakses Maklumat Pengguna

Selepas pengguna log masuk, anda sering perlu mengakses maklumat mereka seperti ID, e-mel atau nama paparan. Firebase memudahkan perkara ini.

  • Sifat currentUser bagi objek auth menyimpan pengguna yang sedang log masuk.
  • Nilainya akan menjadi null jika tiada pengguna yang log masuk.
  • Penting: Sentiasa semak currentUser di dalam pendengar onAuthStateChanged untuk memastikan maklumatnya terkini.

Mengurus Profil Pengguna

Firebase Auth membolehkan pengguna mengemas kini maklumat profil asas secara terus. Ini termasuk nama paparan dan URL foto profil mereka.

Kemas kini ini dilakukan pada bahagian klien dan tidak memerlukan pengesahan semula untuk membolehkan pengguna melihat perubahan pada objek profil mereka sendiri.

  • Gunakan kaedah updateProfile pada objek pengguna.
  • Kemas kini yang biasa: displayName dan photoURL.

Menukar Nama Paparan

Mari lihat cara mengemas kini nama paparan pengguna. Ini berguna untuk memperibadikan pengalaman mereka dalam aplikasi anda.

Operasi ini memerlukan pengguna yang telah log masuk.

import { getAuth, updateProfile } from "firebase/auth";
const auth = getAuth();

const user = auth.currentUser; // Get the current user

if (user) {
  updateProfile(user, {
    displayName: "Jane Doe",
    // photoURL: "https://example.com/jane-profile.jpg"
  }).then(() => {
    console.log("Profile updated successfully!");
    console.log("New display name:", user.displayName);
  }).catch((error) => {
    console.error("Error updating profile:", error.message);
  });
} else {
  console.log("No user is logged in to update profile.");
}

console.log("Attempting to update user profile...");

Semakan Pantas: Keadaan Pengesahan

Pertimbangkan aplikasi web yang menggunakan Firebase Authentication. Seorang pengguna log masuk, kemudian menutup pelayar dan membukanya semula beberapa minit kemudian. Mereka mendapati bahawa mereka masih log masuk.

Apakah tetapan ketekalan Firebase Auth yang paling berkemungkinan aktif?

Imbas Kembali: Sesi & Keadaan

Tahniah! Dalam pelajaran ini, anda telah mempelajari cara mengurus sesi dan keadaan pengguna dengan berkesan dalam aplikasi Firebase anda.

  • Kita meneroka onAuthStateChanged untuk memantau status pengguna dalam masa nyata.
  • Anda memahami kepentingan ketekalan sesi dan tahapnya yang berbeza (LOCAL, SESSION, NONE).
  • Akhir sekali, anda mempelajari cara mengakses dan mengemas kini maklumat profil pengguna yang telah log masuk.

Kemahiran ini penting untuk membina pengalaman pengguna yang dinamik dan diperibadikan!

Percuma untuk bermula

Pelajari Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
11
Pelajaran
44

Soalan Lazim

Adakah pelajaran “Mengurus Sesi dan Keadaan Pengguna” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata, termasuk “Mengurus Sesi dan Keadaan Pengguna”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengurus Sesi dan Keadaan Pengguna”?

Pelajari cara memantau keadaan pengesahan pengguna, mengekalkan sesi dan mengurus profil pengguna dengan selamat Anda berlatih Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Mengurus Sesi dan Keadaan Pengguna” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata ini?

Ya. Setiap pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pelaksanaan Pengesahan E-mel/Kata Laluan
  2. Mengurus Sesi dan Keadaan Pengguna
  3. Mengendalikan Ralat Pengesahan
  4. Tetapan Semula Kata Laluan dan Pengesahan E-mel
← Kembali ke Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata