firebase - flutter firebase google登录以及如何从多个类访问
问题描述
我有一个有效的谷歌登录和退出从教程中学习
但我不知道如何从另一个班级访问它。我想要从登录屏幕到主屏幕的用户个人资料图片。
_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.photourl 访问signedInUser.displayName
解决方案
在第二类中获取当前用户的一种方法是使用身份验证状态侦听器。最简单的方法是:
FirebaseAuth.instance.onAuthStateChanged.listen((user) {
print(user);
});
每当身份验证状态更改时,都会触发此侦听回调,您可以使用它来读取用户的属性(或更新 UI 以反映身份验证状态)。
您还可以确保在第二类中进行身份验证(复制您现在在第一类中所做的部分工作),或使用共享首选项传递数据。有关所有三种方法的示例,请参阅使用 onAuthStateChanged 使用 Flutter 登录 Firebase。
推荐阅读
- c++ - 对于具有 ES_RIGHT 样式的多行编辑框,WM_SETTEXT 花费的时间太长
- php - 无法将会话存储为文件
- c# - 从视图中的 onclick 调用 razor 方法
- python - 具有多列的groupby,在熊猫中具有添加和频率计数
- hamming-code - 整个互联网上是否有任何地方可以从中复制/粘贴 Hamming(8,4) 表?
- javascript - 使用 AGM-MAPS + Angular 5 平滑过渡移动标记
- magento - Magento 2.3 在本地主机中无法正常工作
- tensorflow - 训练后如何获得单个测试实例的嵌入表示
- android - 将图像作为附件发送
- java - 如何获取 Websphere 服务器运行时基本目录路径