Email ve şifre
- Flutter kursu
- İleri seviye
- Ders 17/69
- 4 dk
createUserWithEmailAndPassword ile kayıt olmayı öğrenirsin.
createUserWithEmailAndPassword
createUserWithEmailAndPassword metodu, e-posta ve şifre ile yeni bir kullanıcı hesabı oluşturur. E-posta ve şifre parametreleri zorunludur. Başarılı olunca UserCredential döner; bu nesne oluşturulan kullanıcı bilgilerini içerir.
final cred = await auth.createUserWithEmailAndPassword(
email: 'a@b.com',
password: '123456',
);
print(cred.user.email);FirebaseAuthException
createUserWithEmailAndPassword başarısız olursa bir FirebaseAuthException fırlatılır. Hata kodu code alanında verilir; örneğin 'email-already-in-use' veya 'weak-password'. Bu yüzden çağrıyı try/catch ile sarmak gerekir.
try {
await auth.createUserWithEmailAndPassword(
email: email, password: password);
} on FirebaseAuthException catch (e) {
print(e.code);
}Uygulama Kullanıcı kaydet
Auth örneğini al, createUserWithEmailAndPassword ile 'a@b.com' e-postası ve '123456' şifresiyle yeni kullanıcı oluştur. Dönen UserCredential'dan e-postayı yazdır.
Başlangıç kodu
class User {
final String email;
User(this.email);
}
class UserCredential {
final User user;
UserCredential(this.user);
}
class FirebaseAuth {
static final FirebaseAuth instance = FirebaseAuth._();
FirebaseAuth._();
User? _user;
User? get currentUser => _user;
Future<UserCredential> createUserWithEmailAndPassword({
required String email,
required String password,
}) async {
_user = User(email);
return UserCredential(_user!);
}
}
void main() async {
// kayıt metodunu çağır
// sonuçtan e-postayı yazdır
}Örnek çözüm
class User {
final String email;
User(this.email);
}
class UserCredential {
final User user;
UserCredential(this.user);
}
class FirebaseAuth {
static final FirebaseAuth instance = FirebaseAuth._();
FirebaseAuth._();
User? _user;
User? get currentUser => _user;
Future<UserCredential> createUserWithEmailAndPassword({
required String email,
required String password,
}) async {
_user = User(email);
return UserCredential(_user!);
}
}
void main() async {
final auth = FirebaseAuth.instance;
final cred = await auth.createUserWithEmailAndPassword(
email: 'a@b.com',
password: '123456',
);
print(cred.user.email);
}Beklenen çıktı
a@b.com
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 createUserWithEmailAndPassword başarılı olunca ne döndürür?
- Yalnızca bir hata kodu
- FirebaseAuth örneği
- UserCredential Doğru cevap
- Boş bir Future
Açıklama: Başarılı kayıtta UserCredential döner; bu nesne user alanı üzerinden oluşturulan kullanıcıya erişim sağlar.
2 Kayıt metodunu çağır
final cred = await auth.____(
email: 'a@b.com',
password: '123456',
);
final cred = await auth.createUserWithEmailAndPassword(
email: 'a@b.com',
password: '123456',
);
Açıklama: Yeni kullanıcı oluşturmak için createUserWithEmailAndPassword çağrılır; e-posta ve şifre parametreleri zorunludur.
3 Kayıt parçaları
| Kavram | Anlamı |
|---|---|
createUserWithEmailAndPassword |
Yeni kullanıcı oluşturur |
UserCredential |
İşlem sonucu |
email: |
E-posta adresi |
password: |
Şifre |