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

C# Firestore应用单台设备报Grpc.Core.RpcException未授权错误求助

解决Firestore C#应用单台电脑认证失败问题

针对你遇到的单台电脑出现Unauthenticated认证错误的情况,可按以下步骤排查解决:

1. 修复代码中密钥文件未使用的问题

你的代码定义了firebase.json路径但未传入Firestore初始化逻辑,导致应用可能依赖系统默认认证,而该电脑的默认认证配置异常。修改代码强制指定服务账号密钥:

string path = AppDomain.CurrentDomain.BaseDirectory + @"data\firebase.json";
var credential = GoogleCredential.FromFile(path);
var db = new FirestoreDbBuilder
{
    ProjectId = "aestest-3e45c",
    Credential = credential
}.Build();
CollectionReference usersRef = db.Collection("users");

// 后续更新逻辑保持不变
Google.Cloud.Firestore.DocumentReference userRef = usersRef.Document(uuid);
Dictionary<string, object> updates = new Dictionary<string, object>
{
     { "uuid", uuid }
};
await userRef.UpdateAsync(updates);

2. 检查密钥文件的完整性与权限

  • 对比这台电脑上的firebase.json和其他正常电脑的文件,确保内容完全一致,无损坏或字符缺失。
  • 右键该文件 → 属性 → 安全,给当前运行应用的用户添加读取权限,避免系统重装后权限继承异常导致无法读取密钥。

3. 清除系统级认证冲突

  • 检查系统环境变量是否存在GOOGLE_APPLICATION_CREDENTIALS,若存在,确认其指向的文件有效,或直接删除该变量,强制应用使用代码指定的密钥。
  • 若安装过Google Cloud SDK,打开命令提示符执行gcloud auth revoke --all清除本地缓存的Google账号认证,避免和服务账号认证冲突。

4. 排查网络与安全软件拦截

  • 暂时关闭该电脑的本地防火墙、杀毒软件等安全工具,测试应用是否正常运行,排查是否有认证请求被拦截。
  • 确认该电脑的代理设置和其他正常电脑一致,若有单独代理配置,暂时关闭代理测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:59:55