Firebase App Check调试模式调用ExchangeDebugToken接口遇403错误
问题场景
已在Android项目中完成Firebase App Check集成,配置符合官方要求,初始化代码如下:
val firebaseAppCheck = FirebaseAppCheck.getInstance() val factory = if (BuildConfig.DEBUG) { DebugAppCheckProviderFactory.getInstance() } else { PlayIntegrityAppCheckProviderFactory.getInstance() } firebaseAppCheck.installAppCheckProviderFactory(factory)
调用获取Token的代码:
.getAppCheckToken(false) .addOnSuccessListener { token -> } .addOnFailureListener { exception -> }
运行调试版本时,已按要求将调试令牌添加到Firebase控制台,但始终抛出403异常:
Error returned from API. code: 403 body: Requests to this API firebaseappcheck.googleapis.com method google.firebase.appcheck.v1.TokenExchangeService.ExchangeDebugToken are blocked.
已反复核对Firebase控制台中的应用ID和SHA指纹,确认无误。
解决步骤
1. 启用Firebase App Check API
进入关联的Google Cloud控制台,搜索「Firebase App Check API」,确认该API处于已启用状态。若未启用,点击「启用」后等待数分钟再重试。
2. 核对调试令牌的准确性
运行调试版本时,查看Logcat中的调试令牌日志(格式为D DebugAppCheckProvider: Enter this debug token into the Firebase Console...),确保Firebase控制台中添加的令牌与日志输出完全一致,无空格、大小写错误。
3. 检查项目权限配置
确认Firebase项目的服务账号或控制台登录账号拥有「Firebase App Check Admin」权限。可在Firebase控制台→项目设置→服务账号中查看并调整权限。
4. 清除应用缓存并重装
卸载当前调试版本应用,清除设备上的Firebase相关缓存,重新编译安装后再次测试Token获取逻辑。
5. 更新Firebase SDK版本
确保使用的Firebase App Check SDK为最新稳定版,旧版本可能存在兼容性问题。在项目的build.gradle中更新依赖:
implementation 'com.google.firebase:firebase-appcheck-playintegrity:16.0.2' implementation 'com.google.firebase:firebase-appcheck-debug:16.0.2'
(注:可替换为官方发布的最新版本号)
6. 验证调试模式逻辑
检查BuildConfig.DEBUG是否正确生效,部分自定义构建变体可能导致该值判断错误。可临时硬编码使用DebugAppCheckProviderFactory测试,排除逻辑问题:
val factory = DebugAppCheckProviderFactory.getInstance() firebaseAppCheck.installAppCheckProviderFactory(factory)
内容的提问来源于stack exchange,提问作者Rajat Beck

