我需要访问Firebase存储中的读/写图像。没有身份验证功能。如何仅通过应用限制数据管理。
提供公共访问权限的现有规则是
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write;
}
}
}
答案 0 :(得分:1)
无法将通过Firebase SDK访问文件的方式仅限制为您的应用程序。这种方法在基于云的环境中根本行不通。
另请参阅:
尽管这些通常与其他Firebase产品有关,但相同的逻辑也适用于存储。
您将需要在安全规则中描述可以通过Firebase API对Cloud Storage中的文件执行哪些操作,然后(如果需要)描述谁也可以通过使用Firebase身份验证来执行这些操作。
请注意,使用Firebase身份验证不一定要求用户提供凭据,因为Firebase提供了sign in anonymously的选项。这只是为每个用户提供了一个安全的,唯一的ID,您可以使用该ID,例如,允许用户仅访问自己上传的文件(以及许多其他用例)。
答案 1 :(得分:0)
按照docs
Cloud Storage将文件存储在Google Cloud Storage存储桶中,从而可以通过Firebase和Google Cloud对其进行访问
尽管firebase直接不支持该功能,但是Google Cloud可以选择将API限制为仅特定的应用程序包名称签名。我尝试使用MAP SDK,但从理论上讲存储也应该工作。