gpt4 book ai didi

firebase - FireStore : query the Firebase Auth table?

转载 作者:行者123 更新时间:2023-12-04 13:19:19 26 4
gpt4 key购买 nike

我正在使用 Firestore 构建一个应用程序,其中一群人需要能够访问一个对象,我遵循了 https://firebase.google.com/docs/firestore/solutions/role-based-access 上的指南。 .所以,我的对象看起来有点像这样:

{
title: "A Great Story",
content: "Once upon a time ...",
members: {
alice: "host",
bob: "player",
david: "player",
jane: "player"
}
}
members 中的那些键只是用户 UID,所以实际上它们当然看起来不那么好:)

现在,这一切正常,我可以查询当前登录用户所属的对象,所有规则都有效等等。但是,现在我想在我的应用程序中显示成员列表。我如何为我的成员(member) map 中的用户查询 Firebase 身份验证系统?

如果这是不可能的,那么解决这个问题的“正常”方法是什么?在文档中是否有用户信息(姓名、电子邮件、个人资料图片)的副本?但是您如何处理用户更改自己的任何信息?然后文档有陈旧的旧数据..

我来自传统的关系数据库世界,这是我使用 NoSQL 数据库/Firestore 的第一步,所以我不太清楚如何最好地构建我的用户数据并使其保持最新状态。

最佳答案

使用客户端 SDK,无法列出 Firebase 项目的所有用户。

另一方面,Admin SDK 允许批量检索整个用户列表,参见 https://firebase.google.com/docs/auth/admin/manage-users#list_all_users .请注意,如果您想使用 Admin SDK 提供的这种可能性,您需要在“特权环境”(请参阅​​ https://firebase.google.com/docs/admin/setup )中执行此操作,例如使用 Cloud Functions。然后,您需要从前端调用此云函数。

但是,一种经典方法是在专用 Cloud Firestore 集合中维护所有用户的列表。这种方法有几个优点,其中:

  • 您可以使用客户端 SDK 轻松查询此列表;
  • 您可以在用户配置文件文档中存储一些额外的信息,例如用户角色。事实上,使用 Admin SDK 的 listUsers()方法你得到的结果为 UserRecord 具有固定属性列表的对象。
  • 关于firebase - FireStore : query the Firebase Auth table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55902940/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com