Kotlin Firebase Authentication & Örnek Login Ekranı

Fatih Can
HardwareAndro
Published in
3 min readJul 25, 2020
Photo by Micah Williams on Unsplash

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:

LinkedIn

--

--