Flutter Google登录数据保存到Firebase Cloud Firestore

MRN

我已经在flutter应用程序中实现了google_sign_in包。我正在向Google注册并将数据保存在Cloud Firestore数据库中。我可以正确保存数据。

我想要的是,下次有人尝试使用同一封电子邮件再次在Google中注册时,它将从数据库中检查并显示他已经拥有一个帐户,并要求使用Google“登录”。

我尝试这样做的原因是,我将更新用户数据并注销。

如果我再次使用相同的Google电子邮件登录/注册,它将用google个人资料中的详细信息替换我的更新数据。我想保留Firestore中的更新数据,而不是每次登录时都更新。

谁能帮我这个忙。谢谢!

用户

如果用户是new,并且已经存储在users集合中,则此函数返回true

`Future<bool> isNewUser(FirebaseUser user) async {
QuerySnapshot result = await firestore
        .collection("users")
        .where("email", isEqualTo: user.email)
        .getDocuments();
    final List<DocumentSnapshot> docs = result.documents;
    return docs.length == 0 ? true : false;
  }`

首先,如果用户是新用户,则使用上述功能;如果用户是新用户,则将用户详细信息添加到用户集合,例如

`Future<void> addUserToDb(FirebaseUser currentuser) async {
    user = User(
        uid: currentuser.uid,
        email: currentuser.email,
        name: currentuser.displayName,
        profilePhoto: currentuser.photoUrl,
         );
    firestore
        .collection("users")
        .document(currentuser.uid)
        .setData(user.toMap(user));
  }`

如果该用户不是新用户,则显示登录屏幕

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Flutter从Firebase Cloud Firestore返回完整阵列

Flutter和Cloud Firestore

Flutter:保存到 Firestore

如何使用graphql从Firebase使用flutter从Cloud Firestore获取数据?

Flutter Cloud Firestore 返回结果

Flutter-Firebase 构建失败':cloud_firestore:compileDebugJavaWithJavac'

将数据从Cloud Firestore获取到Flutter的ListView中

Flutter-基于Cloud Firestore数据渲染小部件

这样将数据保存到Firebase Cloud Firestore是否安全(请参阅下文)?

如何使用 Flutter 在具有数据类型的 Firebase Cloud Firestore 中写入数据

Firebase Flutter:Cloud Firestore 数据库有不安全的规则

如何将Cloud Firestore中的单个文档字段保存到Flutter中的局部变量中?

在flutter中从cloud_firestore删除文档

在Flutter中获取Cloud Firestore文档的路径

向Cloud Firestore添加阵列(Flutter / Dart)

Cloud Firestore查询以获取文档ID,Flutter

Flutter中Cloud Firestore的FieldValue.increment

将图像保存到Cloud Firestore

Firebase - Cloud Firestore 权限

Firebase / Cloud Firestore:onSnapshot()与on()

Firebase + PHP - Cloud Firestore

从Cloud Firestore获取数据

Firestore 的 Webhook - Flutter Firebase

从Flutter中的Firestore查询单个文档(cloud_firestore插件)

为什么Flutter中传递的数据返回null?我使用 Cloud Firestore 作为我的数据存储

Firestore 中的 Flutter 数据保存到 firestore 后会显示在 ui 中

Cloud Firestore Firebase集合参考上的IN查询是否具有Flutter / Dart等效项?

如何在Flutter中将列表对象发布到Cloud Firestore Firebase

由于 cloud firestore 和 firebase auth 错误,我的 Flutter 应用程序不再编译