我想从Firebase获取用户数据,我需要一个diplayName
用户。有什么方法可以用他的displayName
来获得另一个用户的uid
?
答案 0 :(得分:0)
无法使用Firebase的客户端SDK在Firebase身份验证中查找有关另一用户的信息,因为这会带来安全风险。
有两种常用方法可以安全地搜索用户:
在每个用户注册时将有关每个用户的信息写入数据库(例如Cloud Firestore或实时数据库),然后在需要时搜索数据库。这样,您的代码可以控制要写入的数据并可以进行搜索。
Firebase具有在可信任环境(例如开发计算机,您控制的服务器或云功能)中运行的Admin SDK。这些SDK具有列出用户的选项,这意味着您可以搜索他们。如果将其中一个Admin SDK封装在自己构建并保护自己的自定义API中,则可以从Flutter代码中调用它。
另请参阅:
答案 1 :(得分:0)
您无法获取当前未使用FirebaseAuth登录的用户的姓名或其他详细信息。
相反,您必须在数据库中创建一个存储名称的节点,并通过查询数据库来创建其他必要的详细信息。