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

Firebase Admin SDK调用始终报Connection Refused错误求助

Firebase Auth verifyIdToken 连接拒绝问题排查
  • 验证Firebase服务域名连通性
    Firebase Auth验证ID令牌依赖www.googleapis.com、oauth2.googleapis.com等特定域名,即使能访问https://www.google.com,也需要单独测试这些域名:在Ktor中发起请求到https://www.googleapis.com/oauth2/v3/tokeninfo,确认是否能正常响应。

  • 核对服务账号JSON配置
    检查JSON文件内的client_email、private_key、project_id是否与Firebase控制台完全一致,避免复制遗漏或格式错误。同时确认该服务账号已在Google Cloud IAM中分配Firebase Auth Admin角色。

  • 检查Ktor客户端与Firebase SDK的兼容性
    Firebase Admin SDK默认HTTP客户端可能和Ktor的配置冲突,比如自定义代理、超时设置或SSL配置问题。尝试为Firebase显式指定Ktor客户端:

    val httpClient = HttpClient(CIO) {
        // 保留默认配置或添加必要SSL设置
    }
    val options = FirebaseOptions.Builder()
        .setCredentials(GoogleCredentials.fromStream(yourJsonInputStream))
        .setHttpClient(httpClient)
        .build()
    FirebaseApp.initializeApp(options)
    
  • 排查本地DNS解析
    若存在DNS解析异常,可能导致无法访问Firebase服务。用终端执行nslookup www.googleapis.com检查解析结果,必要时手动切换DNS服务器(如8.8.8.8)。

  • 确认SDK版本兼容性
    核对firebase-admin与Ktor的版本匹配度,部分新版本Firebase SDK可能对Ktor客户端有特定依赖要求。尝试将firebase-admin切换到稳定版本(如9.2.0),再测试验证功能。

  • 开启Firebase调试日志
    添加日志配置查看初始化细节:

    System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "debug")
    

    运行项目后查看控制台输出,排查是否存在初始化失败、权限不足或网络相关警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:57:11