Firebase: 通过 UID 获取用户电子邮件
Firebase: 通过 UID 获取用户电子邮件
我看到一些关于这个主题的旧问题,但我想检查一下这些年是否有什么变化。
我正在用Swift构建一个好友系统。我有一个用户列表,其中包含已确认好友请求的用户。
在每个注册用户的userData中,我有一个名为'friends'的字段,显示了已确认好友并具有布尔值:
UserData:
- friends:
- UID1 : true
- UID2 : true
[...]
在我的列表中,我现在想显示好友的电子邮件,而不是UID。
有没有办法通过类似Auth.auth().getMailByUid()的方式获取电子邮件?
目前感觉非常麻烦,需要获取每个好友的整个userData集合,并从中提取电子邮件。在userData中单独保存邮件地址也感觉像是重复的,因为它已经与Firebase的身份验证系统中的UID关联起来了。
实现这一目标的常见方法是什么?
Firebase: 获取用户电子邮件通过UID
问题:Firebase SDK的客户端不提供通过UID查找用户数据的方法,因为这将会带来安全风险。在这个领域,没有太大的变化,主要是因为没有什么需要改变的内容。
解决方法:如果你的应用需要这个功能,你可以将数据写入数据库(并在那里进行保护),或者在自定义API中包装Admin SDK(该SDK确实有一个这样的方法)(并在那里进行保护)。
另请参阅:
- [如何通过用户电子邮件获取用户ID Firebase android?](https://stackoverflow.com/questions/41666044/41667215#41667215)
- [如何根据用户ID在Firebase中获取任何用户的电子邮件?](https://stackoverflow.com/questions/29889729)
- [如何从UID Firebase数据库中获取电子邮件地址?](https://stackoverflow.com/questions/53821902)