我们正在构建一个即将推出的应用,用户可以使用Firebase(Google和Facebook)进行身份验证。以前我们运行了一个网站来预先注册用户。在这个网站上,用户可以通过谷歌和Facebook进行身份验证。在网站上,我们还没有使用过Firebase身份验证。
问题是应用程序中的很多代码都在firebase auth uid上运行。如果已登录网站的用户通过该应用与其他用户联系,我们会使用Firebase uid进行连接。如果用户在网站上注册后未登录应用程序,则会出现此问题。 (我们保留在后端的uid从FB或Google uid更改为Firebase uid)。
我们应该如何将网站上的用户连接到firebase中的用户?有没有办法可以预测/迫使uid得到我们可以控制的东西? 理想情况下,网站上的注册在上线后仍然可以使用。
答案 0 :(得分:0)
您可以设置一个服务器,您可以使用Firebase Admin SDK创建用户。默认情况下,会创建一个随机uid
,但您可以选择指定特定的uid
。这是使用Node.js的网站示例:
admin.auth().createUser({
uid: "some-uid",
email: "user@example.com",
phoneNumber: "+11234567890"
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log("Successfully created new user:", userRecord.uid);
})
.catch(function(error) {
console.log("Error creating new user:", error);
});
如果您喜欢其中一种语言,Admin SDK还提供Java和Python的功能。
答案 1 :(得分:0)
您需要使用Firebase CLI SDK将Google / Facebook用户迁移到Firebase Auth,然后在迁移后使用Firebase对这些用户进行身份验证。在迁移期间,您可以使用这些用户所需的任何UID:https://firebase.google.com/docs/cli/auth#authimport