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

如何从Firebase AppCheck获取完整性判定?Play Integrity设置疑问

关于Firebase AppCheck集成Google Play Integrity的核心问题解答

1. 为啥Firebase AppCheck Token里不带Play Integrity的原始判定结果?

Firebase AppCheck本来就是为了简化后端验证做的封装——它把Play Integrity那堆复杂的设备/应用完整性判定,直接转换成了一个只用来判断"请求是否合法"的标准化Token,不会把MEETS_DEVICE_INTEGRITY这类具体判定塞进Token里。

要是你自定义后端必须要这些原始判定,别用Firebase的兑换接口了,得自己搞:

  • 客户端调完Play Integrity的requestIntegrityToken后,把完整的判定结果(verdicts)和原始的Play Integrity Token一起存下来;
  • 客户端把这俩内容都传给你的后端;
  • 后端直接调用Google Play Integrity的验证API校验Token,同时拿到原始判定结果自行处理。

2. Google Play Console里的MEETS_DEVICE_INTEGRITY为啥删不掉?

这是个强制项,是Firebase用Play Integrity作为验证提供者的最低门槛。Google不让你取消,就是为了保证所有过了AppCheck的请求,至少能通过最基础的设备完整性校验,防住那些最入门的篡改、模拟器作弊之类的操作。

3. Firebase AppCheck是怎么处理Play Console里的完整性设置的?

Firebase AppCheck完全跟着你在Play Console里勾选的选项走,但要注意完整性级别是递进的:MEETS_STRONG_INTEGRITY是最高级,包含DEVICE和BASIC的所有要求;MEETS_DEVICE_INTEGRITY次之,包含BASIC;MEETS_BASIC是最低级。

当你勾选多个选项时,相当于放宽了通过条件——只要Play Integrity返回的结果满足你勾选的任意一个级别,AppCheck就认它有效。比如你勾了三个选项,那只要过了最低的BASIC就能拿到Token;要是只勾STRONG,那就必须满足最高级的强完整性才行。

4. 要是控制台勾了三个选项,但Play Integrity只返回MEETS_DEVICE_INTEGRITY,AppCheck会给有效Token吗?

肯定会。你勾了三个选项,意味着只要满足其中任何一个就合格。MEETS_DEVICE_INTEGRITY在你勾选的列表里,所以AppCheck会判定这个请求合法,正常返回验证通过的Token。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:56:09