tom*_*per 8 firebase firebase-storage
Firebase 文档建议在任何存储引用上通过,获取可下载的 url(例如,用于 html<video>标记中的流式视频)getDownloadURL()。因此,您可以通过 SDK 设置将应用于客户端请求的安全规则。
但是,接收到的可下载 URL 似乎对任何客户端/设备都是公开可用的,无需身份验证。
有没有办法对这种用例强制执行安全授权?我注意到您可以在控制台中手动撤销公共 URL,但这不是可扩展的解决方案,也不安全。
有两种方法可以从 Firebase 存储下载文件:
gs://bucket/objecthttps://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<UUID>前者是内部参考,可用于通过我们的 SDK 上传和下载文件。这些受 Firebase 身份验证和 Firebase 存储安全规则的保护。它旨在供您的应用程序用户在应用程序中使用。
后者是外部引用,只能用于下载已共享的文件,通常在应用程序外部。由于与此共享的用户不在您的应用程序中,因此他们无法进行身份验证,因此授权不太有趣。
我们提供的授权是“他们是否有一个不可猜测的长令牌”,这意味着被授权与他们共享文件的人授予了他们权限。这通常被称为“公共的、不可猜测的 URL”或“签名 URL”,因为加密签名通常用于传达某些声明(例如 URL 的有效时间长短、它对哪些操作有效等)。
我们认为,制作只能由“内部”应用程序用户使用的“外部”表示没有什么意义,但如果您不同意,我愿意听取您的用例。
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |