Memulai Firebase Authentication di iOS

Anda dapat menggunakan Firebase Authentication untuk mengizinkan pengguna login ke aplikasi Anda menggunakan 1 atau beberapa metode login, termasuk login dengan alamat email dan sandi, serta penyedia identitas tergabung seperti Login dengan Google dan Login dengan Facebook. Tutorial ini akan membantu Anda memulai Firebase Authentication dengan menunjukkan cara menambahkan login dengan alamat email dan sandi ke aplikasi Anda.

Menghubungkan aplikasi ke Firebase

  1. Instal Firebase SDK.
  2. Di Firebase console, tambahkan aplikasi Anda ke project Firebase.

Menambahkan Firebase Authentication ke project Xcode

Pastikan dahulu dependensi berikut ada dalam Podfile project Anda:

pod 'Firebase/Core'
pod 'Firebase/Auth'

Kemudian, jalankan pod install dan buka file .xcworkspace yang dibuat.

Menginisialisasi Firebase SDK

Dalam delegasi aplikasi, impor Firebase SDK terlebih dahulu:

Swift

import Firebase

Objective-C

@import Firebase;

Kemudian, pada metode application:didFinishLaunchingWithOptions:, inisialisasi objek FirebaseApp:

Swift

// Use Firebase library to configure APIs
FirebaseApp.configure()

Objective-C

// Use Firebase library to configure APIs
[FIRApp configure];

Mendeteksi status autentikasi

Untuk setiap tampilan aplikasi Anda yang memerlukan informasi tentang pengguna yang sudah login, pasang listener ke objek FIRAuth. Listener ini akan dipanggil setiap kali status login pengguna berubah.

Pasang listener dalam metode viewWillAppear pada pengontrol tampilan:

Swift

handle = Auth.auth().addStateDidChangeListener { (auth, user) in
  // ...
}

Objective-C

self.handle = [[FIRAuth auth]
    addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
      // ...
    }];

Dan lepaskan listener dalam metode viewWillDisappear pada pengontrol tampilan:

Swift

Auth.auth().removeStateDidChangeListener(handle!)

Objective-C

[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];

Mendaftarkan pengguna baru

Buat formulir yang memungkinkan pengguna baru mendaftar ke aplikasi Anda menggunakan alamat email dan sandinya. Jika pengguna sudah melengkapi formulir tersebut, validasikan alamat email dan sandi yang diberikan pengguna, lalu teruskan ke metode createUser:

Swift

Auth.auth().createUser(withEmail: email, password: password) { (authResult, error) in
  // ...
  guard let user = authResult?.user else { return }
}

Objective-C

[[FIRAuth auth] createUserWithEmail:email
                           password:password
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
  // ...
}];

Membuat pengguna yang ada agar login

Buat formulir yang memungkinkan pengguna yang sudah ada untuk login menggunakan alamat email dan sandinya. Jika pengguna sudah melengkapi formulir tersebut, panggil metode signIn:

Swift

Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
  // ...
}

Objective-C

[[FIRAuth auth] signInWithEmail:self->_emailField.text
                       password:self->_passwordField.text
                     completion:^(FIRAuthDataResult * _Nullable authResult,
                                  NSError * _Nullable error) {
  // ...
}];

Mendapatkan informasi pengguna

Setelah pengguna berhasil login, Anda bisa mendapatkan informasi tentang pengguna. Misalnya, dalam listener status autentikasi Anda:

Swift

if let user = user {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  let uid = user.uid
  let email = user.email
  let photoURL = user.photoURL
  // ...
}

Objective-C

if (user) {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  NSString *uid = user.uid;
  NSString *email = user.email;
  NSURL *photoURL = user.photoURL;
  // ...
}

Langkah berikutnya

Pelajari cara menambahkan dukungan untuk penyedia identitas lainnya dan akun tamu anonim:

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.