簡體   English   中英

列出來自 Firebase 身份驗證的所有用戶

[英]List all users from Firebase Authentication

我目前正在使用 Pyrebase 包裝器來獲取所有用戶的信息(例如他們的 email 和創建日期)。 我嘗試查看文檔並將其交叉引用到 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

有什么建議或方法可以完成嗎?

from firebase_admin import credentials
from firebase_admin import auth

cred = credentials.Certificate("./key.json")
initialize_app(cred, {'databaseURL' : "your database..."})

page = auth.list_users()
while page:
for user in page.users:
        print("user: ", user.uid)
    page = page.get_next_page()

然后,在您獲得類似於“F5aQ0kAe41eV2beoasfhaksfjh2323alskjal”的用戶 ID 后,您可以通過以下方式查看實際的 email:

user = auth.get_user("F5aQ0kAe41eV2beoasfhaksfjh2323alskjal")
print("user email: ", user.email)

您代碼中的db.child('users').child('userId').get()從實時數據庫中讀取用戶,只有當您的應用程序顯式添加該用戶時,它們才會存在。 將用戶添加到 Firebase 身份驗證不會自動將其添加到實時數據庫。

雖然 Pyrebase 允許您使用服務帳戶對其進行初始化,但它不會復制 Firebase Admin SDK 的所有管理功能。 據我在Pyrebase 的代碼中看到的,Pyrebase 沒有實現列出用戶的方法。

考慮使用 Firebase Admin SDK,它有一個內置的API 來列出用戶

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM