Sebelum kamu memulai
Sebelum Anda dapat menggunakan Firebase Authentication , Anda perlu:
- Daftarkan proyek Unity Anda dengan proyek Firebase Anda.
- Tambahkan Firebase Unity SDK (khususnya,
FirebaseAuth.unitypackage
) ke proyek Unity Anda.
Temukan petunjuk mendetail untuk langkah-langkah penyiapan awal ini di Tambahkan Firebase ke proyek Unity Anda .
- Dapatkan kunci server proyek Anda:
- Buka halaman Akun Layanan di pengaturan proyek Anda.
- Klik Buat Kunci Pribadi Baru di bagian bawah Firebase Admin SDK pada halaman Akun Layanan .
- Pasangan kunci publik/pribadi akun layanan baru secara otomatis disimpan di komputer Anda. Salin file ini ke server otentikasi Anda.
Otentikasi dengan Firebase
KelasFirebaseAuth
adalah gerbang untuk semua panggilan API. Itu dapat diakses melalui FirebaseAuth.DefaultInstance .Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Panggil Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync
dengan token dari server autentikasi Anda.
- Saat pengguna masuk ke aplikasi Anda, kirimkan kredensial masuk mereka (misalnya, nama pengguna dan sandi) ke server autentikasi Anda. Server Anda memeriksa kredensial dan mengembalikan token khusus jika valid.
- Setelah Anda menerima token khusus dari server autentikasi, teruskan ke
Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync
untuk memasukkan pengguna:auth.SignInWithCustomTokenAsync(custom_token).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInWithCustomTokenAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInWithCustomTokenAsync encountered an error: " + task.Exception); return; } Firebase.Auth.FirebaseUser newUser = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); });
Langkah selanjutnya
Setelah pengguna masuk untuk pertama kalinya, akun pengguna baru dibuat dan ditautkan ke kredensial—yaitu, nama pengguna dan sandi, nomor telepon, atau informasi penyedia autentikasi—yang digunakan pengguna untuk masuk. Akun baru ini disimpan sebagai bagian dari proyek Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam proyek Anda, terlepas dari cara pengguna masuk.
Di aplikasi, Anda bisa mendapatkan informasi profil dasar pengguna dari objek
Firebase.Auth.FirebaseUser
:Firebase.Auth.FirebaseUser user = auth.CurrentUser; if (user != null) { string name = user.DisplayName; string email = user.Email; System.Uri photo_url = user.PhotoUrl; // 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 User.TokenAsync() instead. string uid = user.UserId; }
Dalam 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()
:
auth.SignOut();