我使用 Firebase 创建了我的第一个 Web 应用程序,并使用 FirebaseUI 实现了用户身份验证。在我的 Firebase 控制台中,我可以看到“身份验证”选项卡中的“用户”表是使用唯一标识符(电话号码、电子邮件)创建的。我的 Firebase 项目也连接到我的 GCP 项目。
如何在 GCP 中查看我的 Firebase 应用的用户表?理想情况下,我希望将其包含在数据存储服务或类似服务中。有没有办法在 Firebase 和 GCP 之间同步用户?我需要它,以允许 Cloud Run 中的后端应用程序可以进行快速查找(基于用户的标识符),并向用户的查找表添加更多功能(例如编辑
preferences
列)。
到目前为止,我只能找到一个函数来直接检查Firebase的Users表中是否存在用户:
from firebase_admin import auth, credentials
def is_user_in_firebase(identifier: str) -> bool:
try:
auth.get_user_by_phone_number(identifier)
except auth.UserNotFoundError:
return False
else:
return True
我的 Firebase 项目也连接到我的 GCP 项目。
首先,了解 Firebase 项目是 GCP 项目很有帮助。 它们实际上并不是独立的事物。 Firebase 只是托管在 Google Cloud 项目中的一组配置和服务,Firebase 控制台是查看该项目中正在发生的内容的另一种方式(主要是与 Firebase 相关的服务)。
如何在 GCP 中查看我的 Firebase 应用的用户表?
如果您询问如何在 Google Cloud 控制台中查看通过 Firebase 身份验证注册的用户,这是不可能的。 您必须使用 Firebase 控制台查看 Firebase 身份验证数据。 该数据没有 GCP 可访问的“表”或数据库。
理想情况下,我希望将其包含在数据存储服务或类似服务中。
如果您希望用户数据存在于不同的 GCP 产品中,则必须编写一些代码来复制您认为合适的数据。
我需要它,以允许我在 Cloud Run 中的后端应用程序可以进行快速查找(基于用户的标识符)
您可以使用 Firebase Admin SDK 来管理 Firebase Auth 用户数据。 您不需要将其复制到另一个数据源。
您现在使用的功能只是通过电话号码查询用户(如果他们使用电话号码身份验证来注册)。 如果您想使用 Firebase Admin for python 按用户 ID 进行查询,则需要从 用于检索用户数据的文档中的示例代码开始:
from firebase_admin import auth
user = auth.get_user(uid)
print('Successfully fetched user data: {0}'.format(user.uid))