Flutter中Firebase App Check调用getToken()出现403验证失败错误如何解决?
修复Firebase App Check调试令牌获取403错误的方法
核心原因
你使用AndroidProvider.debug模式获取调试令牌时,Firebase服务器未识别到你的设备调试令牌,导致验证失败返回403错误。
具体修复步骤
第一步:提取调试令牌日志
当前代码直接调用getToken()会报错,但启用AndroidProvider.debug后,Logcat中会打印类似D/FirebaseAppCheck: Debug App Check token: [你的调试令牌]的日志,找到该令牌字符串即可。也可以修改代码增加异常捕获,方便提示:try { final token = await FirebaseAppCheck.instance.getToken(); print(token); } catch (e) { print("获取调试令牌失败,请查看Logcat中的Debug App Check token日志"); }第二步:将调试令牌添加到Firebase控制台
- 打开Firebase控制台并进入你的项目
- 切换到App Check模块
- 在对应Android应用的配置区域,找到调试令牌板块
- 点击添加调试令牌,粘贴从Logcat获取到的令牌并保存
第三步:验证基础配置正确性
- 确认
firebase_options.dart是通过Firebase CLI正确生成的,包含App Check相关配置 - 检查
android/app目录下的google-services.json文件是最新下载的有效文件
- 确认
第四步:重新运行项目
执行flutter clean清理项目缓存,然后重新运行应用,此时调用getToken()即可正常获取令牌,不会再出现403错误。
额外注意事项
- 调试令牌仅适用于开发环境,正式发布时需将
androidProvider改为AndroidProvider.playIntegrity,并确保已在Google Play Console完成Play Integrity的相关配置 - 正式版本代码中务必移除调试模式配置,避免安全风险
内容的提问来源于stack exchange,提问作者Snap_Lan
相关产品推荐
相关产品推荐

