Firebase Authentication (Login – Register) Rehberi
Bir mobil uygulamada kullanıcı girişi (login) ve kayıt (register) sistemi artık neredeyse zorunlu hale geldi. Firebase Authentication, bu süreci Android geliştiriciler için hızlı, güvenli ve zahmetsiz bir şekilde çözmemizi sağlar.
Bu yazıda, Android (Kotlin) + Firebase Authentication kullanarak temel bir Login–Register sisteminin nasıl kurulacağını adım adım anlatıyorum.
Firebase Authentication Nedir?
Firebase Authentication; kullanıcıların uygulamaya giriş yapmasını sağlayan bir kimlik doğrulama servisidir. Desteklediği yöntemlerden bazıları:
Email / Password
Google ile giriş
Telefon numarası
Anonim giriş
Bu rehberde en sık kullanılan yöntem olan Email / Password üzerinde duracağız.
1️⃣ Firebase Console Ayarları
Firebase Console → Authentication
Sign-in method sekmesi
Email/Password aktif edilir
Bu işlem yapılmadan kod tarafı çalışmaz.
2️⃣ Gerekli Bağımlılıklar (Gradle)
implementation("com.google.firebase:firebase-auth")
Firebase BoM kullanıyorsan ekstra versiyon belirtmene gerek yoktur.
3️⃣ FirebaseAuth Nesnesini Tanımlama
val auth = FirebaseAuth.getInstance()
Bu nesne ile tüm login–register işlemleri yapılır.
4️⃣ Kullanıcı Kayıt (Register) İşlemi
auth.createUserWithEmailAndPassword(email, password)
.addOnSuccessListener {
val user = auth.currentUser
}
.addOnFailureListener { exception ->
exception.printStackTrace()
}
Başarılı kayıt sonrası kullanıcı otomatik olarak giriş yapmış olur.
5️⃣ Kullanıcı Giriş (Login) İşlemi
auth.signInWithEmailAndPassword(email, password)
.addOnSuccessListener {
// Ana ekrana yönlendir
}
.addOnFailureListener {
// Hata mesajı göster
}
6️⃣ Oturum Kontrolü (Auto Login)
Uygulama açıldığında kullanıcı giriş yapmış mı kontrol edilir:
val currentUser = auth.currentUser
if (currentUser != null) {
// Kullanıcı giriş yapmış
}
Bu sayede her seferinde login ekranı gösterilmez.
7️⃣ Çıkış Yapma (Logout)
auth.signOut()
Basit ama çok kritik bir satır.
8️⃣ Firestore ile Kullanıcı Bilgisi Kaydetme
Authentication sadece kimlik doğrular. Ek bilgiler için Firestore kullanılır:
val userData = hashMapOf(
"email" to email,
"createdAt" to FieldValue.serverTimestamp()
)
db.collection("users")
.document(auth.currentUser!!.uid)
.set(userData)
9️⃣ Sık Yapılan Hatalar
❌ Email formatı kontrol edilmemesi
❌ Zayıf şifre (min. 6 karakter)
❌ Hata mesajlarını kullanıcıya göstermemek
❌ Logout sonrası ekran kontrolü yapmamak
ZaTH Developer Tavsiyesi 💡
Authentication işlemlerini ViewModel içinde yönetmek uygulamayı daha temiz ve test edilebilir yapar.
Sonradan kolayca eklenebilecek özellikler:
Google ile giriş
Şifre sıfırlama
Email doğrulama
Sonuç
Firebase Authentication sayesinde:
Güvenli
Hızlı
Ölçeklenebilir
bir Login–Register sistemi kurabilirsin.
ZaTH Developer olarak; altyapısı sağlam, kullanıcı deneyimi iyi uygulamalar geliştirmeyi önemsiyorum. Bir sonraki yazıda Authentication’ı Firestore Rules ile nasıl güvenli hale getireceğimizi anlatacağım 🚀
Hiç yorum yok:
Yorum Gönder