flutter Firebase Storage和AppCheck太多未经验证的请求

mrfwxfqh  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(112)

第一节第一节第一节第一节第一次
情况是这样的,我在数据库中注册了上传图片的网址,然后就这样打印出来了,是这样吗?
我是不是在如下所示的url中的参数做错了什么?

https://firebasestorage.googleapis.com/xxx/o/20267567567221.webp?alt=media&token=2667a8d4-7d1b-40df-8584-4af0673d4995

这样,我就把它按下的网址保存到数据库中。

taskSnapshot.ref.getDownloadURL().then((downloadUrl) {
   //Here I am registering the url to the database
 });

这是我展示图片的方式

CachedNetworkImage(
    imageUrl: images)

https://firebase.google.com/docs/app-check/flutter/custom-resource#send_app_check_tokens_with_backend_requests

final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
        final response = await http.get(
            Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
            headers: {"X-Firebase-AppCheck": appCheckToken},
        );
    } else {
        // Error: couldn't get an App Check token.
    }

我没有发送任何应用检查令牌,只是我需要发送它,所以我添加了它
我应该遵循这样的路径吗?这对我来说似乎很傻,因为当我直接拉取URL时,它似乎应该自动发送它自己。
我想知道的是,如果标准的下载网址是在一个应用程序中使用一个正确配置的appcheck插件,它是验证或unverifed?

polkgigr

polkgigr1#

我找到了解决方案。由于我将URL保存在数据库中,我需要发送一个头,我将其作为提供程序并以这种方式使用。

CachedNetworkImage(httpHeaders: {
      "X-Firebase-AppCheck":
          Provider.of<AppCheckProvider>(context, listen: false).token
    }, imageUrl: images);

相关问题