我有一个firebase存储下载网址
https://firebasestorage.googleapis.com/v0/b/siren-5eee7.appspot.com/o/profile%2FC6jNlR0F4cZBPv7wF0REWUNVor33?alt=media&token=63a9130e-2ba6-4f38-ac3f-2231c54a1043
没有token参数我怎么访问这个网址?
例如,如果我访问上面的网址没有令牌将有403错误显示permisson拒绝.
我的firebase存储安全规则如下:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
此文件位于/etc
文件中。如何操作?
4条答案
按热度按时间zvms9eto1#
尝试更改规则:
yyyllmsg2#
如果您需要
allow accessing only the images
的规则而不需要令牌,则必须执行以下操作:06odsfpq3#
据我所知,您正试图使整个bucket公开可用。使用Firebase访问规则可能不是最好的,您可能希望通过Google Cloud的存储层使bucket读取访问可用。
要做到这一点,最简单的方法之一是使用Google Cloud Console Storage。
选择bucket,点击bucket进行配置并打开权限选项卡。由于这是Firebase管理的bucket,它将具有Google所谓的细粒度访问控制。别担心,添加公共访问非常简单。点击Add members按钮,然后在侧栏中添加
allUsers
作为新成员。并给予其存储〉存储对象查看器的角色。您可以在存储文档中看到更多细节。这将使bucket可通过
<bucketname>.storage.googleapis.com
公开访问。如果您在Firebase中创建了额外的bucket,并且该bucket与您拥有的域相匹配,并在Google Search Console中进行了验证,则可以创建一个以自定义域命名的bucket,并使用指向c.storage.googleapis.com.
的自定义域的CNAME公开访问该bucket(这只适用于HTTP,不适用于HTTPS)。你可以在Storage Endpoints Docs看到更多细节,谷歌云的文档解释得比我好得多。希望这能有所帮助!r3i60tvu4#
如果您需要访问某个URL(图像)没有令牌参数使用下面的规则:
如果您需要访问某个文件夹没有令牌参数使用下面的规则:
注意:将url或文件夹更改为您的