Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Android'de Firebase Authentication'ı Kullanmaya Başlayın

Uygulamanızı Firebase'e bağlayın

Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .

Firebase Authentication'ı uygulamanıza ekleyin

Firebase Android BoM'yi kullanarak, modülünüzde (uygulama düzeyinde) Gradle dosyasında (genellikle app/build.gradle ) app/build.gradle Authentication Android kitaplığının bağımlılığını app/build.gradle .

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:26.6.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'yi kullandığınızda , uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

(Alternatif) Bom kullanmadan Firebase kütüphane bağımlılıklarını beyan

Firebase BoM'yi kullanmamayı seçerseniz, bağımlılık satırında her bir Firebase kitaplık sürümünü belirtmeniz gerekir.

Uygulamanızda birden çok Firebase kitaplığı kullanırsanız, kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı önemle 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:20.0.3'
}

Kotlin + KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:26.6.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'yi kullandığınızda , uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

(Alternatif) Bom kullanmadan Firebase kütüphane bağımlılıklarını beyan

Firebase BoM'yi kullanmamayı seçerseniz, bağımlılık satırında her bir Firebase kitaplık sürümünü belirtmeniz gerekir.

Uygulamanızda birden çok Firebase kitaplığı kullanırsanız, kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı önemle 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:20.0.3'
}

Bir kimlik doğrulama sağlayıcısını kullanmak için bunu Firebase konsolunda etkinleştirmeniz gerekir. E-posta / Şifre ile oturum açmayı ve uygulamanız için istediğiniz diğer kimlik sağlayıcılarını etkinleştirmek için Firebase Kimlik Doğrulaması bölümündeki Oturum Açma Yöntemi sayfasına gidin.

(İsteğe bağlı) Prototip oluşturun ve Firebase Local Emulator Suite ile test edin

Uygulamanızın kullanıcıların kimliğini nasıl doğruladığından bahsetmeden önce, Kimlik Doğrulama işlevinin prototipini oluşturmak ve test etmek için kullanabileceğiniz bir dizi aracı tanıtalım: 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ını kullanarak herkese açık ve özel verilerle farklı veri modelleri deniyorsanız veya oturum açma kullanıcı arayüzü tasarımlarının prototipini oluşturuyorsanı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ünmüş veritabanı içeriği ve yapılandırmasının yanı sıra isteğe bağlı olarak benzetilmiş proje kaynaklarınızla (işlevler, diğer veritabanları ve güvenlik kuralları) etkileşime girmesini sağlayan Yerel Emülatör Paketinin bir parçasıdır. Local Emulator Suite'in henüz benzetilmiş Bulut Depolamasını desteklemediğini unutmayın.

Kimlik Doğrulama öykünücüsünü kullanmak yalnızca birkaç adım içerir:

  1. Öykünücüye bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
  2. firebase emulators:start çalıştırarak yerel proje dizininizin firebase emulators:start .
  3. Etkileşimli prototip oluşturma için Yerel Öykünücü Paketi Kullanıcı Arabirimini 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'da ayrıntılı bir kılavuz mevcuttur. Daha fazla bilgi için Yerel Emülatör Paketi girişine bakın .

Şimdi kullanıcıların kimliklerini nasıl doğrulayacağınıza devam edelim.

Mevcut kimlik doğrulama durumunu kontrol edin

  1. Bir FirebaseAuth örneği FirebaseAuth .

    Java

    private FirebaseAuth mAuth;

    Kotlin + KTX

    private lateinit var auth: FirebaseAuth
  2. onCreate() yönteminde, FirebaseAuth örneğini FirebaseAuth .

    Java

    // Initialize Firebase Auth
    mAuth = FirebaseAuth.getInstance();

    Kotlin + KTX

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. Etkinliğinizi başlatırken, kullanıcının şu anda oturum açmış olup olmadığı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 kaydedin

Yeni oluştur createAccount , e-posta adresi ve şifreyi alır bunları doğrular ve daha sonra yeni bir kullanıcı oluşturur yöntemi createUserWithEmailAndPassword yöntemiyle.

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 şifreleri ile 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ıları oturum açın

Yeni oluştur signIn , e-posta adresi ve şifreyi alır bunları doğrular ve daha sonra bir kullanıcı imzalar yöntemi signInWithEmailAndPassword yöntemiyle.

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ı e-posta ve şifreleri ile 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 getCurrentUser , hesap verilerini istediğiniz zaman 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: