Firebase uploadBytes 调用返回 403,尽管用户已授权

问题描述 投票:0回答:1

这是我当前的代码:

    async newCollectionRequest({ commit }, data) {
      try {
        console.log(data);
        const location = `/pending-images/${data.collectionName}/${data.image.name}`;
        console.log(location);

        const storage = getStorage();
        const storageRef = ref(storage, location);

        // 'file' comes from the Blob or File API
        await uploadBytes(storageRef, data.image);
        console.log('Uploaded a blob or file!');
        return true;
      } catch (error) {
        throw error.message;
      }
    },

它似乎有效,但仅限于我在尝试上传图像时收到 403 响应。我不确定为什么我首先会收到 403,因为我已经在应用程序上实现了身份验证,并且在尝试执行此操作时我已经确认用户已登录。这是我的 firebase 规则:

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

我不确定为什么会导致 403 错误

javascript firebase firebase-storage
1个回答
0
投票

您发布了一个

firestone.rules
文件。您正在使用 Firebase 存储。您必须创建一个
storage.rules
文件并添加如下内容:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

这将为任何经过身份验证的用户授予完全读/写访问权限。您可以在此处阅读有关存储规则的更多信息

© www.soinside.com 2019 - 2024. All rights reserved.