【问题标题】:Firebase - userId keeps changingFirebase - userId 不断变化
【发布时间】:2022-11-11 10:16:13
【问题描述】:

在一个Android项目中,我将Firebase与signInAnonymously()一起使用,我得到userId这样的

userId = FirebaseAuth.getInstance().getCurrentUser().getUid()

我使用 userId 在Firebase Realtime Database 中创建子节点,根据该数据库的访问规则,只有该用户可以访问。

问题是我注意到 userId 随机变化,当这种情况发生时,该用户创建的所有内容都会丢失。在卸载应用程序之前,我可以做些什么来保持相同的 userId 吗?我可以使用什么其他方式来确保该用户对实时数据库子项的稳定和独占访问?可以使用安装ID吗?

【问题讨论】:

  • 这是使用 signInAnonymously() 的默认行为。
  • @LawrenceGimenez 是的,但这对问题没有帮助

标签: android firebase google-cloud-platform firebase-realtime-database firebase-authentication


【解决方案1】:

您可以使用 Firebase 匿名身份验证来创建和使用只要用于通过 Firebase 进行身份验证的临时帐户。匿名身份验证帐户不会在应用程序卸载后持续存在。卸载应用程序时,本地保存的所有内容都将被清除,包括标识该帐户的匿名身份验证令牌。因此,您无法为用户收回该令牌。所以每次登录时,都会生成一个新的 UID。

我可以使用什么其他方式来确保该用户对实时数据库子项的稳定和独占访问?

要始终拥有相同的 UID,您必须使用 Google、Facebook、Twitter 等提供者实现 Firebase 身份验证。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 2016-10-16
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    相关资源
    最近更新 更多