【问题标题】:Avoid stale anonymous users in Android Firebase避免在 Android Firebase 中使用过时的匿名用户
【发布时间】:2023-03-20 17:56:01
【问题描述】:

我希望我的用户始终可以访问数据库,为此我使用匿名身份验证。 用户也可以通过 facebook 或 google 登录。

当用户登录时,他的匿名帐户将转换为社交网络 (fb/google) 帐户。 然后用户可以决定退出,当他退出时,他会获得一个新的匿名用户。

如果他再次使用他的旧 Facebook 帐户重新登录,则该新匿名用户将留在用户列表中并且永远不会再次使用,因为用户被归还了他的 social-firebase-account

如何确保我的火力基地中没有大量死去的匿名用户?

【问题讨论】:

  • 或者,你为什么不使用这个权限:"auth != null"?这也将允许您的用户访问数据库
  • @AmitUpadhyay 我需要将一些数据保存到数据库中,当用户决定通过社交网络登录时 - 将这些数据迁移到他的新帐户以确保它不会丢失。只需输入“auth != null”即可为用户提供访问权限,但不会让他们保存唯一数据
  • 您使用的是什么版本的 firebase 身份验证?
  • @TincoDeSimone 我现在在 10.0.1

标签: android firebase firebase-authentication


【解决方案1】:

Firebase Admin Node.js SDK 提供了一个 API,让您能够以编程方式删除用户,而无需提供现有密码。

https://firebase.google.com/docs/reference/admin/node/admin.auth.Auth#deleteUser

您可以使用 Cloud Functions for Firebase 编写实时数据库触发器,在用户状态从 isAnonymous true 转换为 isAnonymous false 后删除过时用户。

【讨论】:

  • 我明白了,所以基本上要解决这个问题,我需要编写额外的后端代码并偶尔手动运行一次,或者运行适当的后端实例。我暂时将其标记为解决方案,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
相关资源
最近更新 更多