Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata · Pelajaran

Menyambungkan Data Pengguna kepada Pengesahan

Pautkan ID pengguna yang disahkan kepada entri data yang sepadan dalam Realtime Database untuk kandungan yang diperibadikan

Pelajaran 1 daripada 411 langkah

Menyambungkan Data Pengguna kepada Pengesahan ialah pelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata percuma di CoddyKit. Ini ialah pelajaran 1 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.

Memautkan Pengesahan dan Pangkalan Data

Mengapakah pengesahan pengguna perlu disambungkan dengan pangkalan data anda? Langkah ini penting untuk membina aplikasi yang diperibadikan dan selamat.

Dengan memautkannya, anda boleh:

  • Menyimpan data khusus pengguna seperti profil atau tetapan.
  • Mengawal akses kepada data berdasarkan pengguna yang telah log masuk.
  • Mewujudkan pengalaman yang diperibadikan untuk setiap pengguna.

Mengakses UID Pengguna

Setiap pengguna yang disahkan dalam Firebase mempunyai ID Pengguna unik (UID). ID ini ialah kunci anda untuk memautkan status pengesahan mereka kepada data mereka.

Anda boleh mendapatkan UID pengguna semasa daripada objek currentUser selepas pengguna log masuk.

<!-- Assume Firebase SDKs are loaded -->
<!-- and firebase.initializeApp() has been called -->

<script>
  // Listen for authentication state changes
  firebase.auth().onAuthStateChanged(user => {
    if (user) {
      const uid = user.uid;
      console.log("Current User UID:", uid);
      // Example: Display UID in a web element
      // document.getElementById('user-uid').innerText = uid;
    } else {
      console.log("No user signed in.");
    }
  });
</script>

UID sebagai Kunci Pangkalan Data Anda

Setelah memperoleh UID, anda boleh menggunakannya sebagai pengecam unik dalam laluan Firebase Realtime Database anda. Ini mewujudkan cara yang selamat dan teratur untuk menyimpan data khusus pengguna.

Anggaplah ia seperti folder untuk setiap pengguna, yang dinamakan mengikut UID mereka:

  • /users/{UID}/profile
  • /users/{UID}/preferences

Menyimpan Data Pengguna Pertama

Mari simpan beberapa maklumat profil asas untuk pengguna yang telah log masuk. Kita akan menggunakan UID pengguna untuk mencipta laluan unik dalam pangkalan data.

Contoh ini menyimpan nama pengguna dan e-mel di bawah /users/{uid}.

<!-- Assume Firebase SDKs loaded & initialized -->

<script>
  const user = firebase.auth().currentUser;

  if (user) {
    const uid = user.uid;
    const userRef = firebase.database().ref('users/' + uid);

    userRef.set({
      username: "JaneDoe",
      email: user.email, // Use auth email
      createdAt: firebase.database.ServerValue.TIMESTAMP
    })
    .then(() => {
      console.log("User data saved successfully!");
    })
    .catch(error => {
      console.error("Error saving user data:", error);
    });
  } else {
    console.log("No user signed in to save data for.");
  }
</script>

Struktur Data Pengguna Anda

Selepas kod sebelumnya dijalankan, Realtime Database anda mungkin kelihatan seperti ini:

{
  "users": {
    "YOUR_USER_UID_HERE": {
      "username": "JaneDoe",
      "email": "janedoe@example.com",
      "createdAt": 1678886400000
    }
  }
}

Setiap pengguna mendapat kunci peringkat teratas mereka sendiri di bawah /users, yang memudahkan pengurusan data mereka.

Membaca Data Khusus Pengguna

Untuk mendapatkan kandungan yang diperibadikan, anda hanya perlu membaca daripada laluan yang dibina menggunakan UID pengguna semasa. Ini memastikan mereka hanya melihat maklumat mereka sendiri.

Berikut ialah cara untuk mendapatkan data profil yang baru kita simpan:

<!-- Assume Firebase SDKs loaded & initialized -->

<script>
  const user = firebase.auth().currentUser;

  if (user) {
    const uid = user.uid;
    const userRef = firebase.database().ref('users/' + uid);

    userRef.on('value', (snapshot) => {
      const userData = snapshot.val();
      if (userData) {
        console.log("User Data:", userData);
        console.log("Username:", userData.username);
      } else {
        console.log("No user data found for this UID.");
      }
    }, (error) => {
      console.error("Error reading user data:", error);
    });
  } else {
    console.log("No user signed in to read data for.");
  }
</script>

Mengemas Kini Profil Pengguna

Pengguna mungkin mahu mengubah maklumat profil mereka. Anda boleh mengemas kini medan tertentu dalam laluan data UID mereka dengan mudah menggunakan kaedah update().

Ini hanya mengemas kini medan username tanpa menjejaskan medan lain.

<!-- Assume Firebase SDKs loaded & initialized -->

<script>
  const user = firebase.auth().currentUser;

  if (user) {
    const uid = user.uid;
    const userRef = firebase.database().ref('users/' + uid);

    userRef.update({
      username: "Jane_The_Explorer" // Update only username
    })
    .then(() => {
      console.log("Username updated successfully!");
    })
    .catch(error => {
      console.error("Error updating username:", error);
    });
  } else {
    console.log("No user signed in to update data for.");
  }
</script>

Mengendalikan Data yang Hilang

Anda hendaklah sentiasa menyemak sama ada pengguna telah log masuk (firebase.auth().currentUser bukan null) sebelum cuba mengakses UID atau laluan pangkalan data mereka.

Selain itu, apabila membaca data, semak sama ada snapshot.val() mengembalikan data sebenar atau null. Ini mengelakkan ralat jika data pengguna masih belum dicipta.

Amalan Terbaik untuk Pautan Data

Untuk kecekapan dan kebolehskalaan, pertimbangkan petua berikut:

  • Pastikan UID konsisten: Sentiasa gunakan UID yang telah disahkan sebagai kunci utama untuk data pengguna.
  • Denormalisasikan untuk carian: Jika anda sering memerlukan nama pengguna bersebelahan dengan bahagian data lain (contohnya, siaran), simpan salinan nama tersebut bersama-sama siaran itu dan bukannya sentiasa membuat pertanyaan pada profil pengguna.
  • Peraturan Keselamatan: Gunakan Peraturan Keselamatan Pangkalan Data Masa Nyata untuk memastikan hanya pengguna yang telah disahkan boleh membaca atau menulis data mereka sendiri. (Kita akan membincangkan perkara ini dengan lebih lanjut dalam pelajaran yang akan datang!)

Semakan Pantas: Data Pengguna

Anda mahu menyimpan warna kegemaran pengguna dalam Pangkalan Data Masa Nyata, sambil memastikan warna itu dipautkan kepada profil pengguna yang telah disahkan. Laluan manakah yang menggunakan UID pengguna sebagai kunci dengan betul?

Imbas Kembali: Menyambungkan Data Pengguna

Dalam pelajaran ini, anda telah mempelajari cara memautkan pengguna yang telah disahkan kepada data khusus mereka dengan berkesan dalam Pangkalan Data Masa Nyata Firebase.

  • Kami mengakses User ID (UID) yang unik.
  • Kami menggunakan UID sebagai kunci dalam laluan pangkalan data.
  • Kami berlatih menyimpan dan membaca maklumat khusus pengguna.
  • Kami membincangkan perkara penting berkaitan pengendalian data yang hilang.

Kemahiran asas ini amat penting untuk membina aplikasi yang diperibadikan dan selamat!

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 “Menyambungkan Data Pengguna kepada Pengesahan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata, termasuk “Menyambungkan Data Pengguna kepada Pengesahan”, 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 “Menyambungkan Data Pengguna kepada Pengesahan”?

Pautkan ID pengguna yang disahkan kepada entri data yang sepadan dalam Realtime Database untuk kandungan yang diperibadikan 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 1 daripada 4.

Berapa lamakah pelajaran “Menyambungkan Data Pengguna kepada Pengesahan” 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. Menyambungkan Data Pengguna kepada Pengesahan
  2. Profil Pengguna Masa Nyata
  3. Penyuntingan Data Secara Kolaboratif
  4. Akses Berasaskan Peranan untuk Data Pengguna
← Kembali ke Aplikasi Pengesahan Firebase dan Pangkalan Data Masa Nyata