【问题标题】:Can't Access Firebase Storage Default Bucket From iOS App无法从 iOS 应用访问 Firebase 存储默认存储桶
【发布时间】:2020-01-02 01:04:03
【问题描述】:

几个小时前,我能够毫无问题地访问我的默认存储桶。然而,现在我做不到。我收到以下消息:

Error Domain=FIRStorageErrorDomain Code=-13021 "User does not have permission to access gs://MY_BUCKET_NAME/data.json." UserInfo={object=data.json, ResponseBody={
  "error": {
    "code": 403,
    "message": "Permission denied. Could not perform this operation"
  }

这是我的存储桶规则:

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

我不知道该怎么办。有人可以帮忙吗?

注意:我正在使用 Blaze 计划。 firebase-storage@system.gserviceaccount.com 已添加到我的默认 Firebase 存储桶中。

【问题讨论】:

    标签: ios swift firebase firebase-storage


    【解决方案1】:

    您的规则要求用户登录您的应用才能读取或写入存储桶中的任何文件。我希望您收到该消息的唯一原因是没有用户登录,或者您尝试访问与登录用户不在同一个项目中的存储桶。

    【讨论】:

    • 你是对的。出于某种原因,我认为我不必对默认存储桶的请求进行身份验证,因为它是使用默认 Firebase 应用程序配置的。我想在开发过程中我登录了一个用户帐户(使用 Auth 库创建),这使我能够根据这些安全规则访问我的默认存储桶。我删除了该应用程序,但该经过身份验证的用户似乎有一些缓存。因为我能够访问我的存储桶,即使我认为删除应用程序也会让我从应用程序中注销。感谢您的回答和视频!!!
    猜你喜欢
    • 2017-09-15
    • 2017-07-03
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多