Firebase身份验证导入能否保留给定的UID?

问题描述

我要将超过7万名用户从旧的sql数据库服务器迁移到Firebase。除此之外,他们的帖子,评论,喜欢,关注者以及许多其他人。

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

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

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

但是此方法要求我们提供UID。但是在我的情况下,前一个用户的ID是一个sql自动增量ID。 (我们不希望在Firebase中使用这种ID。这就是为什么我执行上述方法的原因,以便在迁移所有其他数据之前从FirebaseAuth获取UID。)
因此,现在,如果我要使用FirebaseAuth导入机制,则需要自己创建新的UID(可能通过对电子邮件进行哈希处理),然后在所有数据(即帖子,评论,喜欢等)中使用此新生成的UID进行识别拥有它们的用户

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

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

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

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

如果未保留原始给定的UID,那么还有另一种迁移用户方法吗?

解决方法

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

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