You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以Firebase Auth用户身份使用Python Firestore SDK?支持用户令牌吗?

Python Firestore SDK 支持用户身份认证操作吗?

明确回答:Python的Firestore SDK不仅支持服务账号认证,也可以通过用户的id_token或refresh_token实现以终端用户身份操作Firestore。

具体实现方式

借助Firebase Admin SDK,你可以通过用户的refresh_token生成身份凭证,以此初始化Firestore客户端,所有操作都会以该用户身份执行:

  1. 先安装依赖:
pip install firebase-admin
  1. 示例代码:
import firebase_admin
from firebase_admin import credentials, firestore

# 用用户的refresh_token创建身份凭证
user_cred = credentials.RefreshToken("你的用户refresh_token")
firebase_admin.initialize_app(user_cred)

# 初始化Firestore客户端,此时操作受该用户权限限制
db = firestore.client()

# 示例:读取用户有权限访问的文档
user_doc = db.collection("users").document("用户UID").get()
if user_doc.exists:
    print(f"文档内容: {user_doc.to_dict()}")
else:
    print("文档不存在")

补充说明

  • id_token也可以用于验证用户身份,但它的有效期通常只有1小时,无法直接用来持久化初始化客户端;而refresh_token可以长期使用,用来自动刷新获取新的id_token。
  • 用户身份的操作完全受Firestore安全规则限制,只能访问其权限范围内的资源,这和服务账号的管理员权限有本质区别。

内容的提问来源于stack exchange,提问作者Martol1ni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 13:06:23