我在Firebase中使用电子邮件/密码验证。所以每个用户都有一个电子邮件地址我的用户是小组,我希望每个用户都能够看到该组中的所有其他用户。具体来说,我想在前端向用户显示电子邮件列表。我的问题不是关于如何为此制定规则,而是如何获得用户ID 的用户电子邮件地址?请注意,我要求获取其他用户的列表,而不是当前已登录的用户。
我还没有找到任何SO答案,显示如何通过auth()
获取其他用户的电子邮件地址。我已经看到了将电子邮件放在用户ID下的/users
集合中的建议,但对于我来说,将auth()
和/users/$userId
中的电子邮件地址存储起来似乎令人难以置信。更改电子邮件地址将是一场噩梦。所以必须有办法从auth()
收到电子邮件,对吗?
谢谢!
答案 0 :(得分:2)
如果要检索特定用户的电子邮件地址,可以使用新的Firebase管理SDK。
admin.auth().getUser(uid)
.then(function(userRecord) {
// See the tables below for the contents of userRecord
console.log("Successfully fetched user data:", userRecord.toJSON());
})
.catch(function(error) {
console.log("Error fetching user data:", error);
})
请参阅the documentation on retrieving user data。
顾名思义,Admin SDK使用提升的授权运行,因此只应在受信任的硬件上运行,例如您控制的应用程序服务器。
正如我评论的那样:没有API来获取用户列表。