【问题标题】:Restrict firebase access to a single android app without authentication [duplicate]在没有身份验证的情况下限制对单个android应用程序的firebase访问[重复]
【发布时间】:2020-02-18 03:05:45
【问题描述】:

我需要从 Firebase 存储访问读/写图像。没有身份验证工具。如何限制仅通过应用程序管理数据。

提供公共访问的现有规则是

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

【问题讨论】:

    标签: android firebase firebase-storage firebase-security


    【解决方案1】:

    无法将通过 Firebase SDK 对文件的访问仅限于您的应用。这种方法在基于云的环境中根本行不通。

    另见:

    虽然这些通常与其他 Firebase 产品有关,但同样的逻辑也适用于存储。

    您需要在安全规则中描述可以通过 Firebase API 对 Cloud Storage 中的文件执行哪些操作,然后(如果需要)谁也可以使用 Firebase 身份验证来执行这些操作。

    请注意,使用 Firebase 身份验证并不一定要求用户提供凭据,因为 Firebase 提供了sign in anonymously 的选项。这只是为每个用户提供了一个安全、唯一的 ID,例如,您可以使用它来允许用户仅访问他们自己上传的文件(以及许多其他用例)。

    【讨论】:

      【解决方案2】:

      根据docs

      Cloud Storage 将您的文件存储在 Google Cloud Storage 存储分区中,以便通过 Firebase 和 Google Cloud 访问它们

      虽然 firebase 直接不支持,但谷歌云可以选择将 API 限制为仅特定应用程序包名称签名。我尝试了 MAP sdk,但理论上存储也应该可以工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-10
        • 2023-02-02
        • 1970-01-01
        • 2018-07-23
        相关资源
        最近更新 更多