首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用App为Firebase存储生成调试令牌

无法使用App为Firebase存储生成调试令牌
EN

Stack Overflow用户
提问于 2021-07-08 10:27:21
回答 2查看 3.2K关注 0票数 10

我想在我的Android Flutter应用程序中包括Firebase应用程序检查Firebase存储。因此,我遵循的是正式文档:https://firebase.flutter.dev/docs/app-check/usage

这是我的Kotlin MainActivity:

代码语言:javascript
运行
复制
import android.os.Bundle
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
import io.flutter.embedding.android.FlutterActivity


class MainActivity : FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        FirebaseApp.initializeApp(/*context=*/ this);
        val firebaseAppCheck = FirebaseAppCheck.getInstance()
        firebaseAppCheck.installAppCheckProviderFactory(
                DebugAppCheckProviderFactory.getInstance())
        super.onCreate(savedInstanceState)
    }
}

这是我的主要():

代码语言:javascript
运行
复制
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate();
  runApp(MyApp());
}

我还把这个添加到我的应用程序/build.gradle中

代码语言:javascript
运行
复制
dependencies {
  implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0-beta01'
}

当我请求firebase存储时,我希望在我的控制台中有这样的东西:

D DebugAppCheckProvider:将此调试秘密输入到项目的Firebase控制台的允许列表中: 123a4567-b89c-12d3-e456-789012345678

相反,我得到了一个错误:

获取App令牌时出错;使用占位符令牌代替。错误: com.google.firebase.FirebaseException:从API返回的错误。代码: 403 body:这个Android客户端应用程序的请求被阻止。

我错过了什么吗?我正在使用一个真正的Android设备与颤振调试构建。

EN

回答 2

Stack Overflow用户

发布于 2021-08-03 14:33:38

再试着下载你的google-services.json。

如果这没有帮助,可能需要添加/重新添加您的debug key's SHA-1 certificate之后,获得新的google-services.json

显然,通过firebase作为blocked意味着您的API键配置不正确。

如果您收到此错误:

代码语言:javascript
运行
复制
 Error: com.google.firebase.FirebaseException: Error returned from API. code: 403 body: App attestation failed. 

在SafetyNet中检查Project Settings > App Check提供程序。您需要提供应用程序的签名证书的沙256指纹。(还建议增加令牌的生存期)

票数 2
EN

Stack Overflow用户

发布于 2021-09-02 02:33:27

在主活动DebugAppCheckProviderFactory完成之前,您必须初始化onCreate。这对我有用。

代码语言:javascript
运行
复制
class MainActivity : FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        FirebaseApp.initializeApp(/*context=*/ this);
        val firebaseAppCheck = FirebaseAppCheck.getInstance()
        firebaseAppCheck.installAppCheckProviderFactory(
                DebugAppCheckProviderFactory.getInstance())
        super.onCreate(savedInstanceState)
    }
}

请注意,此代码只应放在调试模式中。您可能希望将其排除在版本构建之外。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68299859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档