我在使用Firebase Auth时遇到问题,更具体地说是user.displayName
查询。我在我的应用的第一个屏幕上使用强制性Google登录,因此我可以保证在所有后续屏幕上,用户都有一个名称和一个与他关联的userId。
每次我想访问用户名时,我现在所做的一切基本上都是通过以下方式验证用户:
GoogleSignInAccount googleUser = await googleSignIn.signInSilently();
GoogleSignInAuthentication googleAuth = await googleUser.authentication;
FirebaseUser user = await auth.signInWithGoogle(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
futureId = user.uid;
print("signed in " + user.displayName);
return user.displayName;
显然占用了不必要的时间和带宽。
还有另一种方法吗,因为用户之前已经登录过一次?我可以访问Firebase Auth存储的用户数据,以便在其他Firebase产品(如Firestore)中使用吗?
答案 0 :(得分:3)
FirebaseAuth有一个名为async
的{{1}}方法,可用于访问当前经过身份验证的用户。
虚拟示例:
currentUser