Uygulamanızı Firebase'e bağlayın
Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .
Uygulamanıza Firebase Kimlik Doğrulaması ekleyin
Firebase Android BoM kullanarak, modülünüzdeki (app-level) Gradle dosyanızdaki (genellikleapp/build.gradle
) Firebase Authentication Android kitaplığının bağımlılığını bildirin. Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth:21.0.6' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx:21.0.6' }
Bir kimlik doğrulama sağlayıcısı kullanmak için onu Firebase konsolunda etkinleştirmeniz gerekir. E-posta/Parola ile oturum açmayı ve uygulamanız için istediğiniz diğer kimlik sağlayıcıları etkinleştirmek için Firebase Kimlik Doğrulama bölümündeki Oturum Açma Yöntemi sayfasına gidin.
(İsteğe bağlı) Firebase Local Emulator Suite ile prototip oluşturun ve test edin
Uygulamanızın kullanıcıların kimliğini nasıl doğruladığı hakkında konuşmadan önce, Kimlik Doğrulama işlevinin prototipini oluşturmak ve test etmek için kullanabileceğiniz bir dizi araçtan bahsedelim: Firebase Local Emulator Suite. Kimlik doğrulama teknikleri ve sağlayıcılar arasında karar veriyorsanız, Kimlik Doğrulama ve Firebase Güvenlik Kuralları kullanarak genel ve özel verilerle farklı veri modellerini denemek veya oturum açma UI tasarımlarını prototiplemek istiyorsanız, canlı hizmetleri dağıtmadan yerel olarak çalışabilmek harika bir fikir olabilir. .
Bir Kimlik Doğrulama öykünücüsü, uygulamanızın öykünülmüş veritabanı içeriği ve yapılandırmasının yanı sıra isteğe bağlı olarak öykünülmüş proje kaynaklarınızla (işlevler, diğer veritabanları ve güvenlik kuralları) etkileşim kurmasını sağlayan Yerel Öykünücü Paketi'nin bir parçasıdır.
Kimlik Doğrulama öykünücüsünü kullanmak yalnızca birkaç adımı içerir:
- Öykünücüye bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
- Yerel proje dizininizin kökünden,
firebase emulators:start
. - Etkileşimli prototip oluşturma için Yerel Öykünücü Paketi Kullanıcı Arabirimi'ni veya etkileşimli olmayan testler için Kimlik Doğrulama öykünücüsü REST API'sini kullanma.
Uygulamanızı Kimlik Doğrulama öykünücüsüne bağlayın bölümünde ayrıntılı bir kılavuz bulunmaktadır. Daha fazla bilgi için Local Emulator Suite tanıtımına bakın.
Şimdi kullanıcıların kimliklerinin nasıl doğrulanacağı ile devam edelim.
Geçerli kimlik doğrulama durumunu kontrol edin
FirebaseAuth
örneğini bildirin.Java
private FirebaseAuth mAuth;
Kotlin+KTX
private lateinit var auth: FirebaseAuth
onCreate()
yönteminde,FirebaseAuth
örneğini başlatın.Java
// Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
Kotlin+KTX
// Initialize Firebase Auth auth = Firebase.auth
Aktivitenizi başlatırken, kullanıcının şu anda oturum açıp açmadığını kontrol edin.
Java
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); if(currentUser != null){ reload(); } }
Kotlin+KTX
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser if(currentUser != null){ reload(); } }
Yeni kullanıcılar kaydolun
Bir e-posta adresi ve parola alan, bunları doğrulayan ve ardından createUserWithEmailAndPassword
yöntemiyle yeni bir kullanıcı oluşturan yeni bir createAccount
yöntemi oluşturun.
Java
mAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
Kotlin+KTX
auth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.exception) Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show() updateUI(null) } }
Yeni kullanıcıları e-posta ve şifreleriyle kaydetmek için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Hızlı başlangıç örneğimizde bir örnek görebilirsiniz.
Mevcut kullanıcılarda oturum açın
Bir e-posta adresi ve parola alan, bunları doğrulayan ve ardından bir kullanıcıyı signIn
yöntemiyle oturum açan yeni bir oturum signInWithEmailAndPassword
yöntemi oluşturun.
Java
mAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
Kotlin+KTX
auth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.exception) Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show() updateUI(null) } }
Kullanıcıların e-posta ve şifreleriyle oturum açmak için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Hızlı başlangıç örneğimizde bir örnek görebilirsiniz.
Kullanıcı bilgilerine erişin
Bir kullanıcı başarıyla oturum açtıysa, hesap verilerini herhangi bir noktada getCurrentUser
yöntemiyle alabilirsiniz.
Java
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); if (user != null) { // Name, email address, and profile photo Url String name = user.getDisplayName(); String email = user.getEmail(); Uri photoUrl = user.getPhotoUrl(); // Check if user's email is verified boolean emailVerified = user.isEmailVerified(); // The user's ID, unique to the Firebase project. Do NOT use this value to // authenticate with your backend server, if you have one. Use // FirebaseUser.getIdToken() instead. String uid = user.getUid(); }
Kotlin+KTX
val user = Firebase.auth.currentUser user?.let { // Name, email address, and profile photo Url val name = user.displayName val email = user.email val photoUrl = user.photoUrl // Check if user's email is verified val emailVerified = user.isEmailVerified // The user's ID, unique to the Firebase project. Do NOT use this value to // authenticate with your backend server, if you have one. Use // FirebaseUser.getToken() instead. val uid = user.uid }
Sonraki adımlar
Diğer kimlik ve kimlik doğrulama hizmetlerini eklemeye ilişkin kılavuzları keşfedin:
,Uygulamanızı Firebase'e bağlayın
Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .
Uygulamanıza Firebase Kimlik Doğrulaması ekleyin
Firebase Android BoM kullanarak, modülünüzdeki (app-level) Gradle dosyanızdaki (genellikleapp/build.gradle
) Firebase Authentication Android kitaplığının bağımlılığını bildirin. Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth:21.0.6' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx' }
Firebase Android BoM'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx:21.0.6' }
Bir kimlik doğrulama sağlayıcısı kullanmak için onu Firebase konsolunda etkinleştirmeniz gerekir. E-posta/Parola ile oturum açmayı ve uygulamanız için istediğiniz diğer kimlik sağlayıcıları etkinleştirmek için Firebase Kimlik Doğrulama bölümündeki Oturum Açma Yöntemi sayfasına gidin.
(İsteğe bağlı) Firebase Local Emulator Suite ile prototip oluşturun ve test edin
Uygulamanızın kullanıcıların kimliğini nasıl doğruladığı hakkında konuşmadan önce, Kimlik Doğrulama işlevinin prototipini oluşturmak ve test etmek için kullanabileceğiniz bir dizi araçtan bahsedelim: Firebase Local Emulator Suite. Kimlik doğrulama teknikleri ve sağlayıcılar arasında karar veriyorsanız, Kimlik Doğrulama ve Firebase Güvenlik Kuralları kullanarak genel ve özel verilerle farklı veri modellerini denemek veya oturum açma UI tasarımlarını prototiplemek istiyorsanız, canlı hizmetleri dağıtmadan yerel olarak çalışabilmek harika bir fikir olabilir. .
Bir Kimlik Doğrulama öykünücüsü, uygulamanızın öykünülmüş veritabanı içeriği ve yapılandırmasının yanı sıra isteğe bağlı olarak öykünülmüş proje kaynaklarınızla (işlevler, diğer veritabanları ve güvenlik kuralları) etkileşim kurmasını sağlayan Yerel Öykünücü Paketi'nin bir parçasıdır.
Kimlik Doğrulama öykünücüsünü kullanmak yalnızca birkaç adımı içerir:
- Öykünücüye bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
- Yerel proje dizininizin kökünden,
firebase emulators:start
. - Etkileşimli prototip oluşturma için Yerel Öykünücü Paketi Kullanıcı Arabirimi'ni veya etkileşimli olmayan testler için Kimlik Doğrulama öykünücüsü REST API'sini kullanma.
Uygulamanızı Kimlik Doğrulama öykünücüsüne bağlayın bölümünde ayrıntılı bir kılavuz bulunmaktadır. Daha fazla bilgi için Local Emulator Suite tanıtımına bakın.
Şimdi kullanıcıların kimliklerinin nasıl doğrulanacağı ile devam edelim.
Geçerli kimlik doğrulama durumunu kontrol edin
FirebaseAuth
örneğini bildirin.Java
private FirebaseAuth mAuth;
Kotlin+KTX
private lateinit var auth: FirebaseAuth
onCreate()
yönteminde,FirebaseAuth
örneğini başlatın.Java
// Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
Kotlin+KTX
// Initialize Firebase Auth auth = Firebase.auth
Aktivitenizi başlatırken, kullanıcının şu anda oturum açıp açmadığını kontrol edin.
Java
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); if(currentUser != null){ reload(); } }
Kotlin+KTX
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser if(currentUser != null){ reload(); } }
Yeni kullanıcılar kaydolun
Bir e-posta adresi ve parola alan, bunları doğrulayan ve ardından createUserWithEmailAndPassword
yöntemiyle yeni bir kullanıcı oluşturan yeni bir createAccount
yöntemi oluşturun.
Java
mAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
Kotlin+KTX
auth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.exception) Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show() updateUI(null) } }
Yeni kullanıcıları e-posta ve şifreleriyle kaydetmek için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Hızlı başlangıç örneğimizde bir örnek görebilirsiniz.
Mevcut kullanıcılarda oturum açın
Bir e-posta adresi ve parola alan, bunları doğrulayan ve ardından bir kullanıcıyı signIn
yöntemiyle oturum açan yeni bir oturum signInWithEmailAndPassword
yöntemi oluşturun.
Java
mAuth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.getException()); Toast.makeText(EmailPasswordActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
Kotlin+KTX
auth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.exception) Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show() updateUI(null) } }
Kullanıcıların e-posta ve şifreleriyle oturum açmak için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Hızlı başlangıç örneğimizde bir örnek görebilirsiniz.
Kullanıcı bilgilerine erişin
Bir kullanıcı başarıyla oturum açtıysa, hesap verilerini herhangi bir noktada getCurrentUser
yöntemiyle alabilirsiniz.
Java
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); if (user != null) { // Name, email address, and profile photo Url String name = user.getDisplayName(); String email = user.getEmail(); Uri photoUrl = user.getPhotoUrl(); // Check if user's email is verified boolean emailVerified = user.isEmailVerified(); // The user's ID, unique to the Firebase project. Do NOT use this value to // authenticate with your backend server, if you have one. Use // FirebaseUser.getIdToken() instead. String uid = user.getUid(); }
Kotlin+KTX
val user = Firebase.auth.currentUser user?.let { // Name, email address, and profile photo Url val name = user.displayName val email = user.email val photoUrl = user.photoUrl // Check if user's email is verified val emailVerified = user.isEmailVerified // The user's ID, unique to the Firebase project. Do NOT use this value to // authenticate with your backend server, if you have one. Use // FirebaseUser.getToken() instead. val uid = user.uid }
Sonraki adımlar
Diğer kimlik ve kimlik doğrulama hizmetlerini eklemeye ilişkin kılavuzları keşfedin: