【问题标题】:Does Firebase Auth import persist the given UID?Firebase 身份验证导入是否会保留给定的 UID?
【发布时间】:2021-02-19 18:31:10
【问题描述】:

我正在将 70,000 多名用户从旧的 SQL 数据库服务器迁移到 Firebase。除此之外,还有他们的帖子、cmets、喜欢、关注者等等。

我尝试使用简单的FirebaseAuth.instance.createUserWithEmailAndPassword 但后来我得到了

[firebase_auth/too-many-requests] 由于异常活动,我们已阻止来自此设备的所有请求。请稍后再试。

然后我找到了 FirebaseAuth 导入用户here。而且这似乎是正确的方法。

但是这种方法需要我们提供 UID。但是在我的例子中,前一个用户的 id 是一个 SQL 自动增量 id。 (我们不希望在 Firebase 中使用这种 id。这就是我使用前一种方法的原因,即在迁移所有其他数据之前从 FirebaseAuth 获取 UID。)
所以现在如果我要使用 FirebaseAuth 导入机制,我需要自己创建新的 UID(可能通过散列电子邮件),然后在所有数据(即:帖子、cmets、喜欢等)中使用这个新生成的 UID 来识别拥有它们的用户。

但问题是:FirebaseAuth 导入机制会永远保留给定的 UID 吗?因为根据this post,FirebaseAuth 将生成一个新的 UID(出于安全考虑,这可能是有意义的)。
摘录在这里:

您不能创建用户帐户,然后让用户使用相同的 UID“注册”。

如果我理解正确,那么对我来说这将是一场灾难,因为我将丢失对用户帖子、cmets 和所有其他内容的所有引用。

我试图阅读文档,但这里没有任何关于这一点的说明。

如果原始给定的 UID 没有保留,那么还有其他方法可以迁移用户吗?

【问题讨论】:

  • 我有点困惑。您是从旧服务器迁移到 Firebase 身份验证,还是已经在使用 Firebase 身份验证?
  • 从旧版服务器 (SQL) 迁移到 FirebaseAuth。让我解决问题

标签: firebase firebase-authentication migrate


【解决方案1】:

您的用例与 Hiranya 在链接中回答的用例不同。他们在那里实施了电子邮件邀请系统,而您“只是”重要的用户。

一旦用户存在于 Firebase 身份验证中,他们的 UID 就永远不会改变。因此,如果您在将用户导入 Firebase 身份验证时为其提供特定的 UID,他们将永远拥有该 UID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 2019-12-31
    • 2018-04-08
    • 2019-10-20
    • 2019-12-26
    • 2018-04-12
    相关资源
    最近更新 更多