按照此处的教程进行操作,但是当强制执行 Firebase 应用程序检查时,所有查询都会返回为被拒绝
W/FirebaseProfileService:因 com.google.firebase.firestore.FirebaseFirestoreException 失败:PERMISSION_DENIED:权限缺失或不足。
我已经在主要活动中运行了应用程序检查,并且没有产生任何错误。
fun appCheck(){
FirebaseApp.initializeApp(this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}
Run Code Online (Sandbox Code Playgroud)
我还可以在日志中看到请求令牌。
I/PlayCore: UID: [] PID: [] IntegrityService : requestIntegrityToken(IntegrityTokenRequest{nonce=*****
I/PlayCore: UID: [] PID: [] IntegrityService :启动与服务的绑定。
I/PlayCore: UID: [] PID: [] IntegrityService : ServiceConnectionImpl.onServiceConnected(ComponentInfo{com.android.vending/com.google.android.finsky.integrityservice.IntegrityService})
I/PlayCore: UID: [] PID: [] IntegrityService : linkToDeath
W/Firestore:(24.1.2) [Firestore]:************ 失败:状态{code=PERMISSION_DENIED,描述=权限缺失或不足。,原因=null}
出于隐私原因,“***”数据已被省略
有什么方法可以检查 AppCheck 或 PlayIntegrity 错误吗?云监控似乎只是监控云功能。如前所述,当不强制执行 AppCheck 时,所有查询和 Firestore 规则都可以正常工作。
除了上传版本到 Play 商店控制台之外,似乎也没有提到在哪里指定应用程序的最新版本。我是否必须上传 AppCheck 版本才能允许 Firestore 查询?
编辑:我倾向于这是 IAM 角色的问题。