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

单Android/iOS应用集成多Firebase项目遇访问令牌受众无效错误求助

解决多Firebase项目集成中的"Invalid credentials: access token invalid audience"错误

你遇到的这个错误本质是Firebase服务收到的访问令牌受众不匹配,大多是因为多项目配置参数错误或初始化方式不对,可按以下步骤排查解决:

  • 核对FirebaseOptions参数的准确性
    每个项目的参数必须从对应项目的google-services.json(Android)或GoogleService-Info.plist(iOS)里精准提取:

    • setApplicationId填的是文件里的mobilesdk_app_id(Android)或GOOGLE_APP_ID(iOS),不是App的包名/Bundle ID;
    • setApiKey取对应项目的current_key(Android)或API_KEY(iOS),不能混用不同项目的Key;
    • 若使用数据库、存储等服务,必须补充对应项目的setDatabaseURL和setStorageBucket,缺一不可。
  • 正确初始化多FirebaseApp实例
    不要覆盖默认的FirebaseApp,必须给第二个项目的实例指定唯一名称,后续访问对应服务时也要明确指定该实例:

    // 初始化默认项目(第一个Firebase项目)
    FirebaseApp.initializeApp(context);
    
    // 配置第二个项目的参数
    FirebaseOptions secondaryOptions = new FirebaseOptions.Builder()
            .setProjectId("your-secondary-project-id")
            .setApplicationId("your-secondary-app-id") // 从对应项目的配置文件获取
            .setApiKey("your-secondary-api-key") // 从对应项目的配置文件获取
            .setDatabaseURL("https://your-secondary-project.firebaseio.com")
            .setStorageBucket("your-secondary-project.appspot.com")
            .build();
    
    // 初始化第二个FirebaseApp,指定唯一标识
    FirebaseApp secondaryApp = FirebaseApp.initializeApp(context, secondaryOptions, "SECONDARY_FIREBASE_APP");
    
    // 使用第二个项目的Firestore服务示例
    FirebaseFirestore secondaryFirestore = FirebaseFirestore.getInstance(secondaryApp);
    
  • 检查API Key的权限与受众设置
    登录Google Cloud控制台,找到对应项目的API Key:

    • 验证平台限制:Android需匹配当前App的包名和SHA-1指纹,iOS需匹配Bundle ID;
    • 确认API Key的受众(Audience)包含Firebase服务域名;
    • 若配置无问题仍报错,尝试重新生成API Key替换原有值,旧Key可能存在配置残留问题。
  • 验证服务调用的实例指向
    使用Auth、Firestore等服务时,必须明确传入第二个FirebaseApp实例,否则会默认使用第一个项目的凭证,导致令牌受众不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 19:06:26