【发布时间】:2018-12-13 23:12:31
【问题描述】:
我想获取当前登录用户的电子邮件,但我似乎找不到方法。 我认为它应该类似于:
FirebaseAuth.instance.currentUser().getEmail(); //The .getEmail() part is made up
【问题讨论】:
标签: firebase dart firebase-authentication flutter
我想获取当前登录用户的电子邮件,但我似乎找不到方法。 我认为它应该类似于:
FirebaseAuth.instance.currentUser().getEmail(); //The .getEmail() part is made up
【问题讨论】:
标签: firebase dart firebase-authentication flutter
假设您使用的是Firebase Auth 包:
final FirebaseAuth _auth = FirebaseAuth.instance;
Future<FirebaseUser> _handleSignIn() async {
GoogleSignInAccount googleUser = await _googleSignIn.signIn();
GoogleSignInAuthentication googleAuth = await googleUser.authentication;
FirebaseUser user = await _auth.signInWithGoogle(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken, );
// get email here
print("signed in " + user.email);
return user; }
并处理登录:
_handleSignIn() .then((FirebaseUser user) => print(user)) .catchError((e) => print(e));
【讨论】:
要获取登录用户信息,应先调用currentUser()方法,然后调用email并将其保存到字符串变量中,如下所示:
final _auth = FirebaseAuth.instance;
String userEmail;
void getCurrentUserEmail() async {
final user =
await _auth.currentUser().then((value) => userEmail = value.email);
}
执行此操作的另一种方法是将currentUser() 保存到变量中,然后通过键入. 并选择您想要的任何值来获取相关信息,例如email 或phoneNumber,
像这样:
final _auth = FirebaseAuth.instance;
dynamic user;
String userEmail;
String userPhoneNumber;
void getCurrentUserInfo() async {
user = await _auth.currentUser();
userEmail = user.email;
userPhoneNumber = user.phoneNumber;
}
【讨论】:
这很容易做到...您只需使用FirebaseAuth.instance.currentUser 获取当前用户并通过添加.email 获取电子邮件
您将收到当前用户的电子邮件
【讨论】: