Lihat yang baru dari Firebase di Google I/O 2022. Pelajari lebih lanjut

Mengautentikasi dengan Firebase menggunakan Akun Berbasis Kata Sandi di Flutter

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Anda dapat menggunakan Firebase Authentication agar pengguna Anda dapat mengautentikasi dengan Firebase menggunakan alamat email dan sandi.

Sebelum kamu memulai

  1. Jika Anda belum melakukannya, ikuti langkah-langkah di panduan Memulai .

  2. Aktifkan masuk Email/Kata Sandi:

    • Di bagian Otentikasi Firebase console, buka halaman Metode masuk .
    • Dari halaman Metode masuk , aktifkan metode masuk Email/sandi dan klik Simpan .

Buat akun berbasis kata sandi

Untuk membuat akun pengguna baru dengan kata sandi, panggil metode createUserWithEmailAndPassword() :

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

Biasanya, Anda akan melakukan ini dari layar pendaftaran aplikasi Anda. Saat pengguna baru mendaftar menggunakan formulir pendaftaran aplikasi Anda, selesaikan semua langkah validasi akun baru yang diperlukan aplikasi Anda, seperti memverifikasi bahwa kata sandi akun baru telah diketik dengan benar dan memenuhi persyaratan kompleksitas Anda.

Jika akun baru berhasil dibuat, pengguna juga masuk. Jika Anda mendengarkan perubahan status autentikasi , acara baru akan dikirim ke pendengar Anda.

Sebagai tindak lanjut untuk membuat akun baru, Anda dapat Memverifikasi alamat email pengguna .

Masuk pengguna dengan alamat email dan kata sandi

Langkah-langkah untuk memasukkan pengguna dengan kata sandi mirip dengan langkah-langkah untuk membuat akun baru. Dari layar masuk aplikasi Anda, panggil signInWithEmailAndPassword() :

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

Langkah selanjutnya

Setelah pengguna membuat akun baru, akun ini disimpan sebagai bagian dari proyek Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam proyek Anda, apa pun metode masuk yang digunakan pengguna.

Di aplikasi Anda, Anda bisa mendapatkan informasi profil dasar pengguna dari objek User . Lihat Kelola Pengguna .

Di 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() :

await FirebaseAuth.instance.signOut();