![](/img/trans.png)
[英]Firebase App Check Quota Limits when using with firestore SDK in android
[英]Firebase App check denied all queries for Firestore in Android
遵循此处的教程,但是当 firebase 应用程序检查被强制执行时,所有查询都被拒绝
W/FirebaseProfileService:使用 com.google.firebase.firestore.FirebaseFirestoreException 失败:PERMISSION_DENIED:权限缺失或不足。
我已经在主要活动中运行了应用程序检查,它没有产生任何错误。
fun appCheck(){
FirebaseApp.initializeApp(this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}
我还可以在日志中看到请求令牌。
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 的请求。 您可以查看此参考。
在您的情况下,如果应用程序仍在开发或持续集成中,最好在模拟器中使用调试令牌。
检查你的随机数是否太短。
在 nonce 字段中设置的值必须格式正确:
String
URL-safe
Encoded as Base64 and non-wrapping
Minimum of 16 characters
Maximum of 500 characters
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.