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

如何不借助Firebase JSON文件完成Firestore身份认证?

不用JSON文件的Firestore认证方式

当然存在不依赖JSON服务账号文件的Firestore认证方式,以下是两种贴合你需求的实现方案:

1. 使用用户身份令牌认证(适配你熟悉的FirebaseAuthentication.net流程)

如果你已经通过FirebaseAuthentication.net完成了用户登录,可以直接用获取到的用户ID令牌来认证Firestore,这种方式基于用户身份,安全性更高,适合客户端应用场景:

// 第一步:通过FirebaseAuthentication.net获取用户ID令牌
var auth = new FirebaseAuthProvider(new FirebaseConfig(_firebaseSettings.ApiKey));
var user = await auth.SignInWithEmailAndPasswordAsync("user@example.com", "password");
string idToken = user.FirebaseToken;

// 第二步:用ID令牌创建Firestore客户端
var credential = GoogleCredential.FromAccessToken(idToken);
var firestoreDb = new FirestoreDbBuilder
{
    ProjectId = "databaseName",
    Credential = credential
}.Build();

2. 直接使用Firebase API Key(仅限特定场景)

如果你的场景不需要用户身份,仅需基础的访问权限(比如公开数据的只读访问),可以直接配置API Key来初始化Firestore客户端:

var firestoreDb = new FirestoreDbBuilder
{
    ProjectId = "databaseName",
    ApiKey = _firebaseSettings.ApiKey
}.Build();

注意事项

  • API Key方式的安全性较低,因为API Key容易被泄露,必须在Firebase控制台的Firestore安全规则中严格限制访问权限(比如仅允许只读操作,或限定特定来源)。
  • 用户身份令牌方式是客户端应用的推荐方案,它会结合Firestore安全规则,确保只有授权用户能访问对应的数据。
  • 服务账号JSON文件主要用于后端服务场景,拥有较高的数据库操作权限,和客户端侧的认证方式适用场景不同。

内容的提问来源于stack exchange,提问作者Luis Fernando Badel Méndez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:30:51