如何在颤振应用程序中使用相同的 Firebase 匿名用户

Posted

技术标签:

【中文标题】如何在颤振应用程序中使用相同的 Firebase 匿名用户【英文标题】:How to use the same firebase anonymous user in a flutter app 【发布时间】:2019-07-18 16:37:30 【问题描述】:

我目前正在为一个内部项目开发一个 Flutter 应用程序,其流程是:

您可以作为经过身份验证的用户(邮件/密码)登录并完成一些操作/任务/验证事情 您可以匿名登录并完成一些操作,但您需要通过经过身份验证的用户 (AU) 验证这些操作。

通过这样做,每次 AU 登录自己时,他都可以验证然后切换回匿名模式。问题是 Firebase 每次都会创建一个新的匿名用户。

该应用程序可以在公司的多台设备上使用,每天可以创建 100 多个匿名用户,而实际上只有 6-7 个用户,那么我该怎么做才能避免这种情况呢?

我已阅读有关 customIdToken 的信息,但我还没有找到解决问题的方法。

这是我正在使用的代码:

Future<FirebaseUser> signInAnonToken(String token) async 
    FirebaseUser user = await _firebaseAuth.signInWithCustomToken(token: token);
    return user;


FirebaseUser userAnon = await widget.auth.signInAnonToken("useranonuid");

其中“useranonuid”是匿名用户的 uid,也是我使用 getIdToken(refresh:true) 方法获得的令牌

提前致谢。

【问题讨论】:

【参考方案1】:

问题在于 Firebase 每次都会创建一个新的匿名用户。

我最终所做的解决方法是在每个工作流程结束时添加删除匿名用户。这应该可以防止 Firebase 项目访问100 million anonymous user account limit。

无法恢复以前的 Firebase 匿名身份验证实例。这首先会破坏“匿名”的目的。

【讨论】:

以上是关于如何在颤振应用程序中使用相同的 Firebase 匿名用户的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Firebase 颤振应用程序中合并两个集合?

如何在 FirebaseStorage 中使用 StreamBuilder 来通知我的应用我的 Firebase 存储发生变化?在颤振中

如何将数据作为子集合添加到firebase颤振中的所有用户文档?

如何从 Firebase Firestore 获取数据并将其存储在列表中以在颤振小部件中使用?

如何使用颤振在firebase中进行查询?

将图像从 firebase 显示到颤振应用程序 [关闭]