Kotlin Firebase Authentication & Örnek Login Ekranı
Selam,🖐 bu yazımda birçok uygulamada yer alan kimlik doğrulama işlemini Firebase ile nasıl kullanıldığından bahsetmek istiyorum. Bu işlemi Kotlin üzerinden bir login ekranı oluşturup, Firebase-Kotlin entegrasyonunu gerçekleştireceğiz.
Öncellikle Firebase’in ne olduğundan bahsedelim.
*Firebase
Google tarafından tüm geliştiricilerin ücretsiz kullanabileceği bir backend platformudur. Sadece mobil tarafında değil çalışabilecek tüm teknolojilerde kullanılabilir bir platformdur. Firebase ile veri tutma/getirme, realtime datebase, kimlik doğrulama işlemleri vs. backend işlemleri yapabilirsiniz.
Android Studio üzerinden örnek projemizi oluşturduktan sonra backend işlemlerini gerçekleştirmek için Firebase konsoldan bir örnek proje oluşturalım.
Oluşturulan proje konsolundan Android uygulamamızı ekliyoruz. Sonrasında login ekranında kimlik doğrulamayı etkinleştirmemiz için Authentication kısmından email/şifre alanını etkinleştiriyoruz.
Android Studio projemizdebuild.gradle(Module.app)
dosyasının içerisine Firebase Authentication’ı ekliyoruz.
Ve Firebase konsol işlemlerimizi tamamladık. Örneğimizde Giriş-Kayıt Ol- Ana Sayfa şeklinde üç ekrandan oluşacak Empty Activity
dosyaları oluşturuyoruz. Ekran tasarımlarını oluşturuyoruz.
XML Kodları:
Tasarımları tamamladıktan sonra kod kısmına geçiyoruz. LoginActivity.kt
dosyasını inceleyelim.
Giriş ekranında tanımladığımız btn_Giris
butonunun kontrolünü sağlıyoruz. Kullanıcı başarılı/başarısız giriş durumlarında ve boş bırakıldığında bildirim tanımlıyoruz.
Mail onaylama işlemlerinin bildirimlerini ve kontrolünü sağlıyoruz. Firebase kütüphanesi ile currentUser/şu anki kullanıcın kayıt sırasında mailin onay durumunu Toast.makeText
ile ekranda gösteriyoruz.
Tasarım kısmında yerleştirdiğimiz progressBar
için göster/gizle şeklinde iki fonksiyon oluşturuyoruz. Böylelikle giriş ve kayıt butonlarına tıklandığında progressBarın gösterilmesini sağlıyoruz. Herhangi bir değer gönderilmeyeceği için lateinit türünde mAuthStateListener
tanımladığımız değişkenin ve interface nesnesinin, uygulamada giriş/çıkış yapma durumunu kontrolünü sağlayan iki fonksiyon tanımladık.
Şimdi RegisterActivity.kt
dosyasının kodlarını inceleyelim.
Kayıt ekranında yerleştirdiğimiz kayıt butonunun içerisine eğer tanımlanan şifreler aynı değilse ekranda bir bildirim gösteriyoruz ve alanlar boş bırakıldıysa yine aynı şekilde ekranda bildirim gösteriyoruz.
Yeni bir kullanıcın kayıt yapabilmesi için kontrolünü sağlıyoruz. Eğer kullanıcı daha önce aynı email ile kayıt yapmaya çalıştığında ekranda bildirim gösterilecektir.
Kullanıcın kayıt için kullandığı emaile bir onaylama maili gönderilerek, hesabının doğrulanmasını sağlıyoruz. Kayıtlı olmayan bir email veya eksik bir email tanımlarsa bu emailin geçersiz olduğuna dair ekranda bildirim gösterilecektir.
Bugün Kotlin&Firebase ile kimlik doğrulama konusunu ele aldım, umarım yazım faydalı olmuştur, bir sonraki yazıda görüşmek dileğiyle. 😋
Kaynak Kodu: