Kullanıcılarınızın e-posta adreslerini ve şifrelerini kullanarak Firebase ile kimlik doğrulaması yapmasına olanak tanımak için Firebase Authentication'ı kullanabilirsiniz.
Başlamadan önce
Henüz yapmadıysanız Başlarken kılavuzundaki adımları uygulayın.
E-posta/şifre ile oturum açmayı etkinleştirin:
- Firebase konsolunun Authentication (Kimlik Doğrulama) bölümünde Sign in method (Oturum açma yöntemi) sayfasını açın.
- Oturum açma yöntemi sayfasında E-posta/şifre ile oturum açma yöntemini etkinleştirin ve Kaydet'i tıklayın.
Şifre tabanlı hesap oluşturma
Şifreyle yeni bir kullanıcı hesabı oluşturmak için createUserWithEmailAndPassword() yöntemini çağırın:
try {
final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: emailAddress,
password: password,
);
} on FirebaseAuthException catch (e) {
if (e.code == 'weak-password') {
print('The password provided is too weak.');
} else if (e.code == 'email-already-in-use') {
print('The account already exists for that email.');
}
} catch (e) {
print(e);
}
Bu işlemi genellikle uygulamanızın kayıt ekranından yaparsınız. Yeni bir kullanıcı, uygulamanızın kayıt formunu kullanarak kaydolduğunda uygulamanızın gerektirdiği yeni hesap doğrulama adımlarını (ör. yeni hesabın şifresinin doğru yazıldığını ve karmaşıklık şartlarınızı karşıladığını doğrulama) tamamlayın.
Yeni hesap başarıyla oluşturulduysa kullanıcı oturum da açar. Kimlik doğrulama durumundaki değişiklikleri dinliyorsanız dinleyicilerinize yeni bir etkinlik gönderilir.
Yeni bir hesap oluşturduktan sonra kullanıcının e-posta adresini doğrulayabilirsiniz.
E-posta adresi ve şifreyle kullanıcıların oturumunu açma
Kullanıcıların şifreyle oturum açma adımları, yeni hesap oluşturma adımlarına benzer. Uygulamanızın oturum açma ekranından signInWithEmailAndPassword() işlevini çağırın:
try {
final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
email: emailAddress,
password: password
);
} on FirebaseAuthException catch (e) {
if (e.code == 'user-not-found') {
print('No user found for that email.');
} else if (e.code == 'wrong-password') {
print('Wrong password provided for that user.');
}
}
Sonraki adımlar
Bir kullanıcı yeni bir hesap oluşturduktan sonra bu hesap, Firebase projenizin bir parçası olarak saklanır ve kullanıcının kullandığı oturum açma yönteminden bağımsız olarak projenizdeki her uygulamada kullanıcıyı tanımlamak için kullanılabilir.
Uygulamalarınızda, kullanıcının temel profil bilgilerini User nesnesinden alabilirsiniz. Kullanıcıları yönetme başlıklı makaleyi inceleyin.
Firebase Realtime Database ve Cloud Storage güvenlik kurallarınızda, oturum açmış kullanıcının benzersiz kullanıcı kimliğini auth değişkeninden alabilir ve kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.
Kullanıcıların, kimlik doğrulama sağlayıcı kimlik bilgilerini bağlayarak mevcut bir kullanıcı hesabına birden fazla kimlik doğrulama sağlayıcı kullanarak uygulamanızda oturum açmasına izin verebilirsiniz.
Bir kullanıcının oturumunu kapatmak için signOut() işlevini çağırın:
await FirebaseAuth.instance.signOut();