在颤抖中使用Google身份验证并显示用户名和图像

时间:2018-07-15 19:15:59

标签: firebase dart firebase-authentication flutter

我正在尝试获取用户登录时使用的google帐户的用户名,我希望将其显示为无法打印的文本,您可以帮忙吗。这是代码:

FirebaseUser user = await _auth.signInWithGoogle(
    idToken: gSA.idToken, accessToken: gSA.accessToken);
print("User Name : ${user.displayName}");
return user;}

和我想在其中输入用户名的部分在这里

new ListTile(
          title: new Text("Log In"),
          leading: new Icon(Icons.account_box),
          onTap: () => _signIn()
              .then((FirebaseUser user) => print(user))
              .catchError((e) => print(e)),
          subtitle: new Text(display username here),
        ),

1 个答案:

答案 0 :(得分:0)

您可以这样做。

设置变量“ 名称 ”,然后使用以下代码。

String name = 'Log In';

  final FirebaseAuth _auth = FirebaseAuth.instance;
  final GoogleSignIn googleSignIn = new GoogleSignIn();
  FirebaseUser _user;

    Future<FirebaseUser> _signIn() async {

        GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
        GoogleSignInAuthentication googleSignInAuthentication = await googleSignInAccount.authentication;

        FirebaseUser user = await _auth.signInWithGoogle(
          idToken: googleSignInAuthentication.idToken,
          accessToken: googleSignInAuthentication.accessToken
        );

        setState(() {
            name = user.displayName.toString();
        });

        return user;
  }

使用 setState() 函数可以解决您的问题:)