如何在颤振应用程序中使用相同的 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 匿名用户的主要内容,如果未能解决你的问题,请参考以下文章
如何在 FirebaseStorage 中使用 StreamBuilder 来通知我的应用我的 Firebase 存储发生变化?在颤振中
如何将数据作为子集合添加到firebase颤振中的所有用户文档?