Firebase ile Kimlik Doğrulama, Giriş Yapma, Üyelik Alma (part 2)

onat çipli
Flutter İzmir
Published in
3 min readJul 3, 2019

Gereksinimler

Merhaba Arkadaşlar, önceki yazımda Flutter Projemize Firebase Kitini Nasıl ekleriz (part 1) anlatmıştım, eğer o yazımdaki adımları uygulamadıysanız, FlutterFire pluginlerinden olan, bu yazımda kullanacağım firebase_auth paketini kullanamazsınız. Bugün sizlere firebase’i kullanarak nasıl üyelik alınır, giriş yapılır onu anlatacağım.

Firebase Konsol Giriş Yöntemlerini Aktive Etme

Firebase’in sağladığı giriş yöntemlerini kullanabilmek için ilk önce aktive etmek gerekiyor.

Firebase Auth’u kullanarak aşağıdakiler ile uygulamanıza giriş yaptırabilirsiniz. Bugün bizim kullanacaklarımız ise E-posta/Şifre ve Google ile giriş yapmak olacak. İkisini de etkinleştirmeyi unutmayınız!!!

Google ile Giriş

Eğer uygulamamıza google ile giriş yapabilmek istiyorsak google_sign_in paketini projemizde bulunan pubspec.yaml dependencies kısmına eklememiz gerekiyor. google_sign_in: ^4.0.2

...
dependencies:
flutter:
sdk: flutter
firebase_core:
firebase_auth:
cloud_firestore:
firebase_storage:
firebase_analytics:
google_sign_in: ^4.0.2
...

Google ile giriş yapmak içinde google_sign_in.dart paketini eklememiz gerekiyor.

import 'package:google_sign_in/google_sign_in.dart';

Sonrasında GoogleSignIn _ googleSignIn = GoogleSignIn(); field’ı oluşturup Google ile giriş yaptıktan sonra şuan bulunan google hesabını da googleSignIn.currentUser ile alabiliyoruz, eğer kullanıcı yok ise null döndürüyor.

_googleSignIn.signIn().then((GoogleSignInAccount googleUser) {
Scaffold.of(context)
.showSnackBar(SnackBar(content: Text('Signed In with Google!!')));
});

Google ile giriş yapabilmek için Firebasede ayarlar kısmından Destek e-posta adresinizi belirtmeniz gerekiyor.

E-posta/Şifre ile giriş yapma

İlk önce main.dart dosyasını düzenleyerek başlıyoruz. lib klasörünün içerisinde pages adlı yeni bir klasör oluşturup, içine login_page.dart dosyası oluşturuyorum. Ben dosyaları ayırmayı seviyorum siz her şeyi main.dart dosyasının içerisinde de yazabilirsiniz.

E-mail ve şifre ile giriş işlemlerini yapabilmemiz için firebase_auth.dart dosyasını eklememiz gerekiyor.

import 'package:firebase_auth/firebase_auth.dart';

E-mail ve Şifre’yi kullanıcımızdan almak için iki tane String field oluşturup bunları TextField ‘ın onChanged özelliği ile değiştiriyoruz. obscureText’i true yaparakta şifremizin *** şeklinde gözükmesini sağlıyoruz.

String email = '';
//...
TextField(
onChanged: (String text) {
email = text;
},
decoration: InputDecoration(
hintText: 'Type your mail',
labelText: 'example@gmail.com'),
)
//...
String password = '';//...
TextField(
onChanged: (String text) {
password = text;
},
obscureText: true,
decoration: InputDecoration(
hintText: 'Type your password',
),
)
//...

createUserWithEmailAndPassword metodu parametre olarak E-posta ve şifre alıyor ve bize FirebaseUser döndürüyor, yani oluşturduğumuz hesabımız.

FirebaseAuth.instance
.createUserWithEmailAndPassword(email: email, password: password).then((FirebaseUser user){ _firebaseUser = user;})

Üsteki üyelik alma metodu ile üyelik aldıktan sonra signInWithEmailAndPassword metodu ile uygulamamıza giriş yapabileceğiz.Bu metod’da E-posta ve şifre istiyor. Girdiğiniz bilgiler doğru ise FirebaseUser döndürüyor.

FirebaseAuth.instance
.signInWithEmailAndPassword(email: email, password: password).then((FirebaseUser){ _firebaseUser = user;})

Bu noktadan sonra sisteme giriş yapmış oluyoruz. Bir sonraki yazımda Cloud Firestore kullanımını anlatacağım takipte kalın :)

Proje kaynak koduna buradan ulaşabilirsiniz.

Sormak istediğiniz bir şey varsa twitter @CipliOnat veya Linkedin üzerinden iletişime geçebilirsiniz. Geri bildirimleriniz bekliyorum (:

--

--

onat çipli
Flutter İzmir

Software Engineer who enjoys creating mobile applications with Flutter and Dart