是否仍然可以通过Firebase身份验证wintout登录名检索uid,仅通过使用注册时提供的电子邮件即可
答案 0 :(得分:0)
在客户端SDK中,无法通过用户的电子邮件地址查找UID。但是该功能存在于Firebase的Admin SDK中。例如,在(服务器端)Node.js中,您可以这样操作:
admin.auth().getUserByEmail(email)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log("Successfully fetched user data:", userRecord.toJSON());
})
.catch(function(error) {
console.log("Error fetching user data:", error);
});
仅在Admin SDK中使用此功能的原因是,这些功能将在受信任的环境中使用,并且对于许多在客户端中具有此功能的应用程序来说可能是不希望的。通过在受信任的环境(例如开发机器,您控制的服务器或Cloud Functions)中使用API,可以在用例需要的情况下向您的应用程序公开该功能。
或者,您可以将必要的信息存储在数据库(例如Firebase的实时数据库或Cloud Firestore)中,并允许用户从那里查找。