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

使用Firebase .NET Admin SDK通过代理发推送遇认证错误

解决FCM代理环境下TokenResponseException(ProxyAuthenticationRequired)问题

排查方向1:确认FCM客户端是否真的复用了自定义代理配置

FCM的.NET客户端(Google.Apis.FirebaseMessaging)默认不会自动套用你自定义的HttpClientFactory,必须显式绑定:

  • 初始化FirebaseMessagingClient时,一定要传入配置好代理的HttpClient实例:
var httpClient = _proxyAwareHttpClientFactory.CreateClient();
var firebaseOptions = new FirebaseMessagingClientInitializer
{
    HttpClient = httpClient
};
var messagingClient = new FirebaseMessagingClient(firebaseOptions);
  • 重点检查OAuth令牌请求环节:TokenResponseException是在获取令牌时抛出的,Google Auth库内部可能单独用了默认HttpClient,没走代理。可以通过全局配置GoogleApiClient的HttpClient解决:
var initializer = new BaseClientService.Initializer
{
    HttpClientInitializer = credential,
    HttpClient = httpClient // 传入带代理配置的HttpClient
};

排查方向2:适配生产代理的凭据传递方式

  • 生产代理可能要求NTLM认证而非基础认证,调整HttpClientHandler的配置:
var handler = new HttpClientHandler
{
    Proxy = new WebProxy("http://your-proxy:port")
    {
        Credentials = new NetworkCredential("user", "pass", "domain"),
        UseDefaultCredentials = false // 若用域账户,可尝试设为true
    },
    UseProxy = true,
    DefaultProxyCredentials = CredentialCache.DefaultNetworkCredentials // 试试系统默认凭据
};
  • 确认代理白名单包含oauth2.googleapis.com:FCM的令牌请求会先访问这个地址,别只加了fcm.googleapis.com。

排查方向3:检查生产代理的特殊拦截规则

  • 用curl模拟令牌请求,验证生产代理是否允许这类带Authorization头的请求:
curl -x http://proxy-host:port -U user:pass https://oauth2.googleapis.com/token -d "grant_type=refresh_token&refresh_token=your-refresh-token&client_id=your-client-id&client_secret=your-client-secret"

如果请求失败,联系运维确认代理是否拦截了这类请求。

  • 检查生产环境的环境变量:Google Auth库会优先读取HTTP_PROXY/HTTPS_PROXY的配置,如果这些变量没带凭据,会覆盖代码里的代理设置,导致认证失败。

排查方向4:升级Google Auth库版本

旧版本的Google.Apis.Auth库可能存在代理凭据传递的bug,直接升级到最新稳定版:

Install-Package Google.Apis.Auth -Version latest
Install-Package Google.Apis.FirebaseMessaging -Version latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:05:43