flutter firebase google登录以及如何从多个类访问
Posted
技术标签:
【中文标题】flutter firebase google登录以及如何从多个类访问【英文标题】:flutter firebase google sign in and how to access from multiple classes 【发布时间】:2019-04-26 12:30:12 【问题描述】:我有一个有效的谷歌登录和退出从教程中学习
但我不知道如何从另一个类访问它。 我想要从登录屏幕到主屏幕的用户个人资料图片。
_googleSignIn.signIn().then((result)
result.authentication.then((googleKey)
FirebaseAuth.instance
.signInWithGoogle(
idToken: googleKey.idToken,
accessToken: googleKey.accessToken)
.then((signedInUser)
print(
'Signed in as $signedInUser.displayName $signedInUser.photoUrl');
widget.onSignIn();
).catchError((e)
print(e);
).catchError((e)
print(e);
).catchError((e)
print(e);
);
);
);
这是我的登录代码我想从另一个类访问signedInUser.displayName 以及signedInUser.photourl
【问题讨论】:
您可以确保用户也从第二类登录,附加一个身份验证状态侦听器,或者使用例如共享首选项将数据传递给第二类。有关所有三个的示例,请参阅***.com/questions/45353730/… 【参考方案1】:在第二类中获取当前用户的一种方法是使用身份验证状态侦听器。最简单的方法是:
FirebaseAuth.instance.onAuthStateChanged.listen((user)
print(user);
);
只要身份验证状态发生变化,就会触发此侦听回调,您可以使用它来读取用户的属性(或更新 UI 以反映身份验证状态)。
您还可以确保在第二类中进行身份验证(复制您现在在第一类中所做的部分工作),或使用共享首选项传递数据。有关所有三种方法的示例,请参阅Firebase Login with Flutter using onAuthStateChanged。
【讨论】:
以上是关于flutter firebase google登录以及如何从多个类访问的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - 可以在没有 Firebase 的情况下使用 Google 登录吗?
仅当用户存在于 Firebase 中时 Flutter google 登录?
在 Flutter 中使用 Firebase/Google 登录时无法注销并重定向到 LoginPage
在 iOS 上退出 Google 登录无法在 Flutter Firebase 中运行