5

Bir e-posta adresi verildiğinde, bir kullanıcının kullanıcı kimliğini almak mümkün müdür? Örneğin, bir kişinin e-postası olan değişken bir e-posta adresim varsa,Kullanıcı tarafından userID nasıl alınır Email Firebase android?

. Kimlik numarasını alabilir miyim?

Eğer bu aptalca bir soru varsa özür dilerim.

Düzeltme: not: Geçerli kullanıcı olmayan bir kişinin kimliğini almak istiyorum. Yani FirebaseUser user = mAuth.getCurrentUser();

Kullanamıyorum Veritabanımın yapısı böyle görünüyor, bu nedenle kimlik zaten veritabanında saklanacak. Sadece bir yolu bulmaya ihtiyacım var (Aşağıda verilen şemada bir e-posta alanım yok ama ben bir tane ekliyorum, herkesin merak ettiğini düşünerek -_-).

Ayrıca mümkünse profil resimlerini e-postalarına göre veya kimliğimi aldıktan sonra kimliğimi kullanarak almak istiyorum. Güvenilen bir sunucuda kendi e-posta ile kullanıcı bakın isterseniz

enter image description here

+0

[Buraya soru için benzer cevabı kontrol edin. e-posta kimliğini firebase'den alma] (https://stackoverflow.com/a/49002292/9405186) –

cevap

8

, sen Firebase Yönetici SDK'yı kullanabilir. documentation on retrieving user data Gönderen:

admin.auth().getUserByEmail(email) 
    .then(function(userRecord) { 
    // See the tables above for the contents of userRecord 
    console.log("Successfully fetched user data:", userRecord.toJSON()); 
    }) 
    .catch(function(error) { 
    console.log("Error fetching user data:", error); 
    }); 

Firebase Kimlik Doğrulaması için istemci SDK'lar Sadece halihazırda doğrulanmış kullanıcının profiline erişim sağlar. Bir kullanıcıyı e-posta adreslerine göre aramak için bir yol sağlamazlar. istemci tarafında arama izin vermek için bunu yapmak için yaygın yolu veritabanında UİD-by-posta adresini saklamaktır:

"emailToUid": { 
    "[email protected],com": "uidOfSumOne", 
    "[email protected],com": "uidOfPuf" 
} 

bu basit bir liste ile, kodlanmış e-posta ile UID bakabilirsiniz adres dan:

ref.child("emailToUid").child("[email protected],com").addSingleValueEventListener(... 

Ayrıca bkz:

+0

Yani, uid değerini saklamak gerekir, e-posta kullanarak root öğesinden uid almak mümkün değil mi? aynı zamanda kişinin görüntü profilini alabilir miyim (mevcut kullanıcı değil)? – SumOne

+0

Firebase Kimlik Doğrulaması için istemci SDK'leri, yalnızca şu anda doğrulanmış kullanıcının profiline erişim sağlar. Bunu cevabımda açıkladım. –

+0

Ah, teşekkürler. Üzgünüm tam okumadım. Kullanıcı tarafında – SumOne

0

e-posta ve şifre ile kullanıcı giriş ve kimliği alabilirsiniz Bu şekilde:

FirebaseAuth.getInstance().signInWithEmailAndPassword(email,password).addOnSuccessListener(new OnSuccessListener<AuthResult>() { 
      @Override 
      public void onSuccess(AuthResult authResult) { 
       FirebaseUser user = authResult.getUser(); 
      } 
     }); 
İlgili konular