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

2023-11-26

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

这是我的 Kotlin MainActivity:

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)
    }
}

这是我的 main():

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate();
  runApp(MyApp());
}

我还将其添加到我的 app/build.gradle 中

dependencies {
  implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0-beta01'
}

当我向 firebase 存储发出请求时,我希望控制台中出现类似以下内容:

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

相反,我收到一个错误:

获取应用程序检查令牌时出错;使用占位符标记代替。错误: com.google.firebase.FirebaseException:从 API 返回错误。代码: 403 body:来自此 Android 客户端应用程序的请求是 被阻止。

我在这里错过了什么吗?我正在使用带有 flutter debug 版本的真实 Android 设备。


[可能的解决方案]对于像我这样寻找解决方案的 Koltin 新手来说,当您运行 flutter 项目时,日志不会出现在“运行”选项卡上,您需要打开 android studio 的Log Cat并输入AppCheck获取日志。 另请确保遵循为 kotlin 安装 Appcheck 的文档。

*注意:我正在使用模拟器。 *如果找不到该选项卡,请注意Log Cat请拜访启用 Log Cat Flutter

查看它应该是什么样子

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 App Check 为 Firebase 存储生成调试令牌 的相关文章

随机推荐