【问题标题】:List all users from Firebase Authentication列出来自 Firebase 身份验证的所有用户
【发布时间】:2021-04-08 10:02:14
【问题描述】:

我目前正在使用 Pyrebase 包装器来获取所有用户的信息(例如他们的电子邮件和创建日期)。我尝试查看文档并将其交叉引用到 Pyrebase 文档,但是我似乎没有得到我想要的东西。目前我已经尝试过:

import pyrebase

config={all required information, including path to service account .json file}
firebase=pyrebase.initialize_app(config)
db=firebase.database()
auth=firebase.auth()


extract_user = db.child('users').child('userId').get()

for x in extract_user.each():
    print(x.val())
    
    auth.get_account_info(user[x.val()])

但是我还是失败了,我知道我错过了一些东西,但我不确定是什么。

注意:我将用户的 userID 保存在数据库中的 userId 下。因此,我遍历了要在“get_account_info”中使用的每个 ID

有什么建议或方法可以完成吗?

【问题讨论】:

  • 错误是什么?

标签: python firebase-realtime-database firebase-authentication pyrebase


【解决方案1】:

您代码中的db.child('users').child('userId').get() 从实时数据库中读取用户,只有当您的应用程序显式添加该用户时,它们才会存在。将用户添加到 Firebase 身份验证不会自动将其添加到实时数据库。

虽然 Pyrebase 允许您使用服务帐号对其进行初始化,但它不会复制 Firebase Admin SDK 的所有管理功能。据我在Pyrebase's code 中看到的,Pyrebase 没有实现列出用户的方法。

考虑使用 Firebase Admin SDK,它具有内置的 API to list users

【讨论】:

  • 可以同时使用 pyrebase 和实际的 firebase 管理模块吗?还是会引起某种冲突?
  • 我很确定 Pyrebase 只是调用 Firebase REST API,所以我怀疑那里会有直接冲突。但我建议先尝试在一个上实现所有功能,然后再选择使用两者。而且由于您无法从 Pyrebase 获取用户列表,因此请考虑仅使用 Admin SDK 是否可以获得所需的一切。
猜你喜欢
  • 2016-10-18
  • 2021-07-31
  • 1970-01-01
  • 1970-01-01
  • 2020-04-01
  • 2022-12-10
  • 2019-07-02
  • 1970-01-01
相关资源
最近更新 更多