我遵循了android应用程序的应用程序设置指南,并在尝试从应用程序中获取令牌时遇到了以下问题:
FirebaseException: Error returned from API. code: 403 body: App attestation failed
调用appcheck时,如下所示:
//initialize on app-start
FirebaseApp.initializeApp(applicationContext)
FirebaseAppCheck.getInstance().apply {
installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}
//get token to then use in backend calls
firebaseAppCheck
.getAppCheckToken(true)
.addOnCompleteListener {
//do something with the token
}
由于HTTP 403 (禁用)意味着访问权限配置错误,我已经按照文档的建议对配置进行了双重检查,并希望缩小问题所在的范围,当我发现自己处于以下(奇怪)情况时:
PlayIntegrityAppCheckProviderFactory
到SafetyNetAppCheckProviderFactory
,我能够检索一个令牌,导致我假设不是firebase
访问,而是app integrity
访问失败。IntegrityManager
,我还可以得到一个令牌,这似乎与我目前的假设相冲突……我在用
附录:com.google.firebase:firebase-appcheck-playintegrity:16.1.0
游戏-诚信独立:com.google.android.play:integrity:1.0.2
有人知道这可能是什么原因吗?
发布于 2022-11-14 21:21:01
如果您不是通过Google发布的,Play Integrity Provider不适用于Firebase应用程序。另一个问题可能是注册的SHA-256密钥可能与Google Play用于签署应用程序的密钥不同。我将验证您正在使用的应用程序从播放商店与谷歌play签署的SHA-256指纹。
https://stackoverflow.com/questions/74143598
复制相似问题