Melakukan Autentikasi dengan Firebase menggunakan Akun Berbasis Sandi melalui JavaScript

Anda dapat menggunakan Firebase Authentication untuk mengizinkan pengguna melakukan autentikasi dengan Firebase menggunakan alamat email dan sandi, serta mengelola akun berbasis sandi di aplikasi Anda.

Sebelum memulai

  1. Tambahkan Firebase ke project JavaScript.
  2. Jika Anda belum menghubungkan aplikasi ke project Firebase, lakukanlah dari Firebase console.
  3. Aktifkan login dengan Email/Sandi:
    1. Di Firebase console, buka bagian Auth.
    2. Di tab Metode login, aktifkan metode login Email/sandi dan klik Simpan.

Membuat akun berbasis sandi

Untuk membuat akun pengguna baru dengan sandi, lakukan langkah-langkah berikut di halaman login aplikasi Anda:

  1. Ketika pengguna baru mendaftar menggunakan formulir pendaftaran aplikasi Anda, selesaikan langkah-langkah validasi akun baru yang diwajibkan oleh aplikasi, seperti memverifikasi bahwa sandi akun baru tersebut telah diketik dengan benar dan memenuhi persyaratan kerumitan.
  2. Buat akun baru dengan meneruskan alamat email dan sandi pengguna baru ke createUserWithEmailAndPassword:
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Jika akun baru telah dibuat, pengguna tersebut juga akan dibuat login secara otomatis. Lihat bagian Langkah berikutnya di bawah untuk mendapatkan detail pengguna yang login.

    Di sini Anda juga dapat menemukan dan menangani error. Untuk mengetahui daftar kode error, lihat Dokumen Referensi Auth.

Membuat pengguna login dengan alamat email dan sandi

Langkah-langkah untuk membuat agar pengguna login dengan sandi mirip dengan langkah-langkah untuk membuat akun baru. Di halaman login aplikasi Anda, lakukan hal berikut:

  1. Ketika pengguna login ke aplikasi Anda, teruskan alamat email dan sandi pengguna ke signInWithEmailAndPassword:
    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Lihat bagian Langkah berikutnya di bawah untuk mendapatkan detail pengguna yang login.

    Di sini Anda juga dapat menemukan dan menangani error. Untuk mengetahui daftar kode error, lihat Dokumen Referensi Auth.

Langkah berikutnya

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

  • Di aplikasi Anda, cara yang direkomendasikan untuk mengetahui status autentikasi pengguna adalah dengan menyetel observer pada objek Auth. Selanjutnya, Anda dapat memperoleh informasi profil dasar pengguna dari objek User. Baca artikel mengenai Mengelola Pengguna.

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

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

Agar pengguna logout, panggil signOut:

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