Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

Eğer henüz yapmadıysanız, Android projeye Firebase ekleyin .

Uygulamanıza Firebase Kimlik Doğrulaması ekleyin

Kullanılması Firebase Android Bom , senin modülü (uygulama düzeyinde) Gradle dosyası (genellikle Firebase Kimlik Android kütüphanesi için bağımlılık beyan app/build.gradle ).

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.2')

    // 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'
}

Kullanarak Firebase Android Bom , uygulamanızın her zaman Firebase Android kütüphanelerin uyumlu versiyonlarını kullanacak.

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

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

Eğer uygulamanızda birden Firebase kitaplıkları kullanırsanız, biz çok tüm versiyonlar uyumlu olmasını sağlar kütüphane sürümlerini yönetmek için Bom kullanmanızı öneririz olduğunu unutmayın.

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.1'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:28.4.2')

    // 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'
}

Kullanarak Firebase Android Bom , uygulamanızın her zaman Firebase Android kütüphanelerin uyumlu versiyonlarını kullanacak.

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

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

Eğer uygulamanızda birden Firebase kitaplıkları kullanırsanız, biz çok tüm versiyonlar uyumlu olmasını sağlar kütüphane sürümlerini yönetmek için Bom kullanmanızı öneririz olduğunu unutmayın.

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.1'
}

Bir kimlik doğrulama sağlayıcısını kullanmak için, onu etkinleştirmeniz gerekir Firebase konsoluna . E-posta/Parola 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ğ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ını 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:

  1. Öykünücüye bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
  2. Çalışan yerel proje dizininin kökü itibaren firebase emulators:start .
  3. 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.

Ayrıntılı bir kılavuz mevcuttur Connect'e Doğrulama emülatörü için uygulama . Daha fazla bilgi için, bkz Yerel Emülatörü Suite giriş .

Şimdi, kullanıcıların kimliklerinin nasıl doğrulanacağı ile devam edelim.

Geçerli kimlik doğrulama durumunu kontrol edin

  1. Bir örneği bildirin FirebaseAuth .

    Java

    private FirebaseAuth mAuth;

    Kotlin+KTX

    private lateinit var auth: FirebaseAuth
  2. Gelen onCreate() metodu başlatmak FirebaseAuth örneği.

    Java

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

    Kotlin+KTX

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. 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

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 şifreleriyle kaydetmek için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Bizim de bir örnek görebilirsiniz hızlı başlangıç numunesi .

Mevcut kullanıcılarda 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ın e-posta ve şifreleriyle oturum açmak için bir form ekleyin ve gönderildiğinde bu yeni yöntemi çağırın. Bizim de bir örnek görebilirsiniz hızlı başlangıç numunesi .

Kullanıcı bilgilerine erişin

Bir kullanıcının başarıyla oturum açtıktan Eğer herhangi bir noktada hesap verilerini alabilirsiniz getCurrentUser yöntemiyle.

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 eklemeyle ilgili kılavuzları keşfedin: