gpt4 book ai didi

firebase - 对 firebase-storage 可下载 url 执行身份验证

转载 作者:行者123 更新时间:2023-12-04 18:59:37 26 4
gpt4 key购买 nike

Firebase 文档建议 obtaining a downloadable url (例如,HTML <video> 标签中的流式视频)由 getDownloadURL() 完成, 在任何存储引用上。因此,您可以设置将通过 SDK 应用于客户端请求的安全规则。

但是,似乎收到的可下载 URL 对任何客户端/设备都是公开可用的,无需进行身份验证。

有没有办法对这种用例强制执行安全授权?我注意到您可以在控制台中手动撤销公共(public) URL,但这不是可扩展的解决方案,也不安全。

最佳答案

有两种方法可以从 Firebase 存储下载文件:

  • gs://bucket/object
  • https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<UUID>

  • 前者是内部引用,可用于通过我们的 SDK 上传和下载文件。这些受 Firebase 身份验证和 Firebase 存储安全规则保护。它旨在供您的应用程序的用户在应用程序中使用。

    后者是外部引用,只能用于下载已共享的文件,通常在应用程序外部。由于与此共享的用户不在您的应用程序之外,因此他们无法进行身份验证,因此授权不太有趣。

    我们提供的授权是“他们是否有一个无法猜测的长 token ”,这意味着授权与他们共享文件的人授予了他们权限。这通常被称为“公共(public)的、不可猜测的 URL”或“签名的 URL”,因为加密签名通常用于传达某些声明(例如 URL 的有效时间、有效的操作等)。

    我们认为,制作只能由“内部”应用程序用户使用的“外部”表示几乎没有意义,但如果您不同意,我愿意听取您的用例。

    关于firebase - 对 firebase-storage 可下载 url 执行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41088164/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com