【问题标题】:How to get current user email address FirebaseAuth/Flutter如何获取当前用户的电子邮件地址 FirebaseAuth/Flutter
【发布时间】:2018-12-13 23:12:31
【问题描述】:

我想获取当前登录用户的电子邮件,但我似乎找不到方法。 我认为它应该类似于:

FirebaseAuth.instance.currentUser().getEmail(); //The .getEmail() part is made up

【问题讨论】:

    标签: firebase dart firebase-authentication flutter


    【解决方案1】:

    假设您使用的是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));
    

    【讨论】:

      【解决方案2】:

      要获取登录用户信息,应先调用currentUser()方法,然后调用email并将其保存到字符串变量中,如下所示:

          final _auth = FirebaseAuth.instance;
          String userEmail;
          void getCurrentUserEmail() async {
          final user =
                    await _auth.currentUser().then((value) => userEmail = value.email);
          }
      

      执行此操作的另一种方法是将currentUser() 保存到变量中,然后通过键入. 并选择您想要的任何值来获取相关信息,例如emailphoneNumber, 像这样:

          final _auth = FirebaseAuth.instance;
          dynamic user;
          String userEmail;
          String userPhoneNumber;
      
          void getCurrentUserInfo() async {
            user = await _auth.currentUser();
            userEmail = user.email;
            userPhoneNumber = user.phoneNumber;
            }
      

      【讨论】:

        【解决方案3】:

        这很容易做到...您只需使用FirebaseAuth.instance.currentUser 获取当前用户并通过添加.email 获取电子邮件

        您将收到当前用户的电子邮件

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-30
          • 2018-07-25
          相关资源
          最近更新 更多