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

标签 firebase firebase-authentication migrate

我正在将超过 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 吗?因为根据this post FirebaseAuth 将生成一个新的 UID(出于安全考虑,这可能是有意义的)。
摘录于此:

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

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

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

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

最佳答案

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

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

关于firebase - Firebase Auth 导入是否保留给定的 UID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64724522/

相关文章:

javascript - FCM 考虑了 Cloud Functions for Firebase 上的外部网络

ios - 在前台时不显示通知

firebase - 如何使用特定的 "hd"(托管域)参数配置 Firebase + Google OAuth?

java - 添加 FirebaseAuth.getInstance 后应用崩溃

asp.net-mvc - 如何将现有的 asp.net 应用程序迁移到 asp.net MVC 模式格式

javascript - 保存数据时等待 Firebase 响应

json - 将 firebase 生成的 json 数据集导入 mongodb

ios - [Firebase/Core][I-COR000020] 发布到 Clearcut : Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline 时出错

sql-server-2005 - 将一堆 SQL Server 2005 表移动到另一台服务器的最佳方法?

Angular 5 -> Angular 6 Rxjs .map() 到 .pipe(map())