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

使用FirebaseExtended/action-hosting-deploy@v0认证失败,无法推送至GitHub仓库

解决方案:Firebase部署认证失败(JSON解析错误)

核心问题分析

报错里的SyntaxError: Unexpected token F in JSON at position 0是因为google-auth-library尝试解析非JSON格式的响应,结合Failed to authenticate, have you run firebase login?,本质是GitHub Actions环境中缺少有效的Firebase认证凭据,导致认证流程出错。

修复步骤

  • 检查Firebase服务账号密钥
    确保GitHub Secrets中配置的FIREBASE_SERVICE_ACCOUNT_<PROJECT_ID>是完整正确的JSON格式,无多余空格、换行或字符。重新从Firebase控制台「项目设置」→「服务账号」→「生成新的私钥」获取完整密钥。

  • 正确配置Firebase Action
    若使用firebase-tools部署,在GitHub Actions workflow文件中正确引入认证凭据:

    - name: Deploy to Firebase
      uses: FirebaseExtended/action-hosting-deploy@v0
      with:
        repoToken: '${{ secrets.GITHUB_TOKEN }}'
        firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_YOUR_PROJECT_ID }}'
        projectId: your-project-id
    

    或使用firebase login:ci生成的令牌:

    - name: Deploy to Firebase
      run: npx firebase deploy --token ${{ secrets.FIREBASE_TOKEN }}
    
  • 清理缓存并重装依赖
    在workflow中添加清理步骤,避免旧依赖或缓存干扰:

    - name: Clean npm cache
      run: npm cache clean --force
    - name: Install dependencies
      run: npm install
    
  • 重置本地认证状态
    本地执行firebase logout,再用firebase login:ci生成新令牌,替换GitHub Secrets中的旧令牌。

额外排查点

  • 确认GitHub Secrets中的凭据名称与workflow引用的名称完全一致(大小写敏感)。
  • 检查Firebase项目权限,确保服务账号拥有「Cloud Build Editor」或「Firebase Admin」权限。

内容的提问来源于stack exchange,提问作者Andre Korosh Kordasti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:30:00