我想知道的是无需登录即可从Firebase获取身份验证用户UID 该已经注册的用户
我已经阅读了Firebase文档,但是所有的解释都集中在仅当用户当时登录时才能获得UID的情况。
但是我只想获取UID和用户电子邮件地址而无需登录 有什么办法吗?
答案 0 :(得分:1)
不是,无法使用Firebase身份验证来检索uid
或email
,因为该用户当前尚未登录。
实际检索它们的唯一另一种方法是使用firebase数据库。因此,当用户在您的应用程序中注册时,您还可以将用户的数据发送到数据库,这样即使用户未登录也可以稍后检索数据。
例如(在注册时)您可以将数据发送到数据库:
users
userId
email : email_here
name : name_here
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以应用技巧来做到这一点。虽然这不是最佳解决方案。
您必须记住一件事,“没有登录就无法获取UID”。
signInWithEmailAndPassword
函数,并提供来自后端的电子邮件和密码。UID
。答案 3 :(得分:0)
mAuth.signInAnonymously()
.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, "signInAnonymously:success");
FirebaseUser user = mAuth.getCurrentUser();
Log.d("userstatus","user id is "+user.getUid());
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInAnonymously:failure", task.getException());
}
// ...
}
});