Firebase App Check使用Play Integrity返回无效JWT问题咨询
Play Integrity提供商下Firebase App Check令牌验证失败问题排查
核心问题:你拿到的短令牌
eyJlcnJvciI6ILVOS05QV05fRVJST1IifQ==并非有效App Check JWT,而是Base64编码的错误响应。解码后内容为{"error":"NKNPWN_ERROR"},说明Play Integrity验证环节失败,App Check返回了错误标识而非正常令牌。排查步骤:
- 确认Play Integrity基础配置
- 确保Android应用包名与Firebase控制台完全一致
- 已在Google Play Console关联目标Firebase项目,并启用Play Integrity API
- 测试应用必须上传至Play Console(内部/封闭测试渠道均可),本地调试包未经过Play签名,无法通过Play Integrity验证(如需本地调试,需使用Firebase提供的调试令牌)
- 检查Firebase App Check配置
- 在Firebase控制台App Check页面,确认Android应用的提供商已成功切换为Play Integrity,无配置保存失败提示
- 关于Admin Node SDK的支持
- 正常的Play Integrity生成的App Check令牌是标准RS256签名JWT,与SafetyNet、Web端令牌格式一致,Firebase Admin Node SDK完全支持验证。你遇到的问题本质是传入了错误令牌,而非SDK不支持Play Integrity
- 调试技巧
- 对异常令牌进行Base64解码,获取具体错误码定位问题
- 在Android端捕获App Check获取令牌的异常,直接查看客户端的错误信息,避免将错误令牌传递到后端
- 确认Play Integrity基础配置
内容的提问来源于stack exchange,提问作者Ced
相关产品推荐
相关产品推荐

