Flutter Firebase认证异常:play_integrity_token请求字段无效
解决Firebase Auth 17028错误(Invalid request fields in play_integrity_token)
针对你遇到的短信验证触发Recaptcha、Firebase返回17028错误的问题,可按以下步骤排查修复:
补充Play App Signing的SHA-256指纹:
仅配置SHA-1不够,需将Play控制台「应用签名」页面的SHA-256指纹添加到Firebase项目设置的「应用」->「添加指纹」中。Firebase现在依赖SHA-256来验证Play Integrity Token的合法性。检查Play Integrity API的服务账号权限:
进入Google Cloud控制台对应项目,找到Firebase服务账号(通常为firebase-adminsdk-xxx@xxx.iam.gserviceaccount.com),确保其被授予Play Integrity Viewer或Play Integrity Editor角色,否则会导致Token验证失败。彻底清理项目构建缓存:
替换google-services.json后,执行:Build -> Clean Project Build -> Rebuild Project或手动删除
app/build和本地.gradle缓存目录,避免旧配置残留。确认应用发布状态:
确保应用是Play Store正式发布版本,本地调试包或未完全推送的新版本会触发Recaptcha fallback,只有正式包才能正常使用Play Integrity验证。强制刷新Firebase配置同步:
在Firebase控制台重新生成google-services.json,替换到项目后执行Gradle同步,确保配置完全生效。
内容的提问来源于stack exchange,提问作者Harshana
相关产品推荐
相关产品推荐

