Mobil uygulama geliştirirken kullanıcı yönetimi, temel bir gerekliliktir. Kullanıcıların kaydolması, oturum açması ve güvenli bir şekilde uygulamadan çıkması, kullanıcı deneyimi ve veri güvenliği açısından büyük önem taşır. Firebase, kullanıcı yönetimini kolaylaştıran bir dizi araç sunar. Bu yazıda, Firebase Authentication hizmetini kullanarak kullanıcı yönetimini sağlamak için oluşturduğumuz FirebaseAuthManager
sınıfını inceleyeceğiz.
FirebaseAuthManager Sınıfı:
import FirebaseAuth
import SwiftUI
class FirebaseAuthManager: ObservableObject {
@Published var isLoggedIn = false
// Kullanıcıyı kaydeder
func register(email: String, password: String) {
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
if let error = error {
print("Kayıt hatası: \(error.localizedDescription)")
} else {
print("Başarıyla kaydedildi: \(authResult?.user.uid ?? "")")
self.isLoggedIn = true
}
}
}
// Kullanıcıyı oturum açar
func login(email: String, password: String) {
Auth.auth().signIn(withEmail: email, password: password) { authResult, error in
if let error = error {
print("Giriş hatası: \(error.localizedDescription)")
} else {
print("Başarıyla giriş yapıldı: \(authResult?.user.uid ?? "")")
self.isLoggedIn = true
}
}
}
// Kullanıcı oturumu kapatır
func logout() {
do {
try Auth.auth().signOut()
self.isLoggedIn = false
} catch let signOutError as NSError {
print("Oturum kapatma hatası: \(signOutError.localizedDescription)")
}
}
}
Yukarıdaki kod örneğinde FirebaseAuthManager
adında bir sınıf tanımladık. Bu sınıf, Firebase Authentication hizmetini kullanarak kullanıcı kaydı, girişi ve oturum kapatma işlemlerini gerçekleştirmek için tasarlanmıştır. Şimdi, sınıfın temel işlevlerini daha ayrıntılı olarak inceleyelim.
register(email:password:)
fonksiyonu, kullanıcının belirtilen e-posta ve şifre ile kaydolmasını sağlar.Auth.auth().createUser(withEmail:password:completion:)
işlevini kullanarak Firebase Authentication API’sini çağırır. Başarılı bir kayıt durumunda, kullanıcının oturum açtığını veisLoggedIn
yayıncı özelliğinitrue
olarak ayarlar. Kayıt işlemi sırasında bir hata oluşursa, hata mesajını ekrana yazdırır.login(email:password:)
fonksiyonu, kullanıcının belirtilen e-posta ve şifreyle oturum açmasını sağlar.Auth.auth().signIn(withEmail:password:completion:)
işlevini kullanarak Firebase Authentication API’sini çağırır. Başarılı bir oturum açma durumunda, kullanıcının oturum açtığını veisLoggedIn
yayıncı özelliğinitrue
olarak ayarlar. Oturum açma işlemi sırasında bir hata oluşursa, hata mesajını ekrana yazdırır.logout()
fonksiyonu, kullanıcının oturumunu kapatır.Auth.auth().signOut()
işlevini kullanarak Firebase Authentication API’sini çağırır. Oturum kapatma işlemi başarılı olduğundaisLoggedIn
yayıncı özelliğinifalse
olarak ayarlar. Oturum kapatma sırasında bir hata oluşursa, hata mesajını ekrana yazdırır.- Yukarıdaki
FirebaseAuthManager
sınıfı, SwiftUI uyumlu bir sınıf (ObservableObject
) olarak tanımlanmıştır. Bu sayede, sınıfın özelliklerinde (isLoggedIn
) değişiklik olduğunda görünümlerin otomatik olarak güncellenmesi sağlanır. - Bu sınıf, Firebase Authentication hizmetini kullanarak kullanıcı yönetimi sağlamak için bir temel oluşturur. Uygulama geliştirirken kullanıcı kaydı, oturum açma ve oturum kapatma gibi işlemleri kolayca gerçekleştirmek için
FirebaseAuthManager
‘ı kullanabilirsiniz.
Firebase Authentication hizmetini kullanmak, kullanıcı yönetimini basitleştiren güçlü bir araçtır. FirebaseAuthManager
sınıfı, kullanıcı kaydı, oturum açma ve oturum kapatma gibi temel işlemleri kolayca gerçekleştirmenizi sağlar. Bu sınıfı kullanarak kullanıcı yönetimini uygulamanıza entegre edebilir ve güvenli, kullanıcı dostu bir deneyim sunabilirsiniz.