Sebelum memulai
- Tambahkan Firebase ke project iOS.
- Sertakan pod berikut di
Podfile
Anda:pod 'Firebase/Auth'
- Dapatkan kunci server project Anda:
- Buka halaman Akun Layanan di setelan project Anda.
- Klik Buat Kunci Pribadi Baru di bagian bawah Firebase Admin SDK pada halaman Akun Layanan.
- Pasangan kunci umum/pribadi pada akun layanan baru secara otomatis disimpan di komputer Anda. Salin file ini ke server autentikasi Anda.
Autentikasi dengan Firebase
- Impor modul Firebase di
UIApplicationDelegate
Anda:Swift
import Firebase
Objective-C
@import Firebase;
- Konfigurasikan instance bersama
FirebaseApp
, biasanya ada dalam metodeapplication:didFinishLaunchingWithOptions:
aplikasi Anda:Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Ketika pengguna login ke aplikasi Anda, kirim kredensial login mereka (misalnya, nama pengguna dan sandi) ke server autentikasi. Server Anda akan memeriksa kredensial dan menampilkan token khusus jika kredensial tersebut valid.
- Setelah Anda menerima token kustom dari server autentikasi, teruskan token tersebut
ke
signInWithCustomToken
agar pengguna dapat login:Swift
Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in // ... }
Objective-C
[[FIRAuth auth] signInWithCustomToken:customToken completion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
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 bisa mendapatkan informasi profil dasar pengguna dari objek
FIRUser
. Baca bagian 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.
Untuk memproses logout pengguna, panggil signOut:
.
Swift
let firebaseAuth = Auth.auth() do { try firebaseAuth.signOut() } catch let signOutError as NSError { print("Error signing out: %@", signOutError) }
Objective-C
NSError *signOutError; BOOL status = [[FIRAuth auth] signOut:&signOutError]; if (!status) { NSLog(@"Error signing out: %@", signOutError); return; }
Anda juga dapat menambahkan kode penanganan error untuk berbagai error autentikasi. Lihat Menangani Error.