Firebase Auth 导入是否保留给定的 UID?

Does Firebase Auth import persist the given UID?

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

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

[firebase_auth/too-many-requests] We have blocked all requests from this device due to unusual activity. Try again later.

然后我发现FirebaseAuth导入用户here。这似乎是正确的方法。

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

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

You cannot create a user account, and then have the user "sign up" with the same UID.

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

我试图阅读文档,但这里没有说明这一点。

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

您的 use-case 与 Hiranya 在 link 中回答的不同。他们在那里实施了一个 email-invite 系统,而您“只是”重要用户。

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