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

Firebase App Check调试令牌失效及权限拒绝问题求助

Firebase App Check调试环境权限拒绝及配置变更时长问题

一、调试环境权限拒绝问题分析与解决

1. 调试令牌频繁变化的原因

默认情况下,DebugAppCheckProviderFactory生成的调试令牌不会自动持久化,每次应用重启都会生成新令牌。这导致你在Firebase控制台添加的旧令牌与当前应用使用的新令牌不匹配,App Check验证失败,最终触发Firestore的权限拒绝错误。

2. 解决方法

  • 持久化调试令牌:初始化App Check时指定持久化存储(如SharedPreferences),确保应用重启后使用同一令牌。示例代码(Kotlin):
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
import com.google.firebase.appcheck.internal.SharedPreferencesAppCheckTokenStorage
import com.google.firebase.appcheck.FirebaseAppCheck

val debugStorage = SharedPreferencesAppCheckTokenStorage(context)
FirebaseAppCheck.getInstance().installAppCheckProviderFactory(
    DebugAppCheckProviderFactory.getInstance(),
    debugStorage
)
  • 更新控制台令牌:运行应用后从日志中获取新的持久化令牌(后续重启不会再变化),将其添加到Firebase控制台的App Check调试令牌列表。
  • 检查Firestore安全规则:确保规则中已验证App Check,示例规则:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.app != null;
    }
  }
}

二、Firebase状态变更的平均等待时长

Firebase控制台的配置变更(包括调试令牌添加、安全规则修改、App Check策略调整等)平均生效时长为几秒到5分钟,极少数情况可能延迟至15分钟。其中调试令牌添加基本即时生效,安全规则修改通常1-2分钟内同步完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:01:16