Dav*_*vid 6 android kotlin google-cloud-firestore firebase-app-check
按照此处的教程进行操作,但是当强制执行 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 角色的问题。
这是我从 Firebase 支持处得到的答案。显然,应用程序必须先发布,然后应用程序检查才能保证游戏完整性。我与 firebase 的聊天:
是的,必须在 Google Play 商店中发布应用程序,才能拥有有效的 SHA-256 指纹,然后开始验证 PlayIntegrity 的请求。您可以检查此参考。
就您而言,如果应用程序仍在开发或持续集成中,最好在模拟器中使用调试令牌。
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |