首页 > 解决方案 > 仅存储 Firebase 存储下载 URL 令牌(不是完整路径)是否安全?

问题描述

我有一个使用 Firebase 存储的 Angular 应用程序来存储用户上传的照片文件。用户上传文件后,我调用 getDownloadURL()(返回 Observable)来获取完整的公共 URL 路径。我想将 URL 字符串存储在 Firestore 数据库中,以便可以将其绑定到 img html 元素 src 属性以显示在网页上。这将使我不必调用 Storage API 来异步获取每个图像 URL。

此 URL 在查询字符串中包含一个令牌值,我认为该值是不可猜测的,并用作一种密码以确保安全。为了节省空间,我应该只将令牌存储在数据库中吗?我可以使用变量来组装云文件夹路径的其余部分——令牌是唯一的部分。如您所见,完整的 URL 路径相当长。你认为 URL 路径的其余部分会改变吗?

示例 Firebase 存储下载 URL(不是真实的)

https: -- //firebasestorage.googleapis.com/ -- v0/b/my-bucket-name-goes-here/o/T4uk5DnzXlO1C7hs9HrSdb7yxsM2%2Fthumb%2FcX2kCobDqdRgN3snefYh.jpg?alt=media&token=238b33ad-f823-4876-a5e2- 626ca157ed10

标签: angularfirebasefirebase-storage

解决方案


您从 API 收到的唯一保证是整个 URL 将获取存储中的文件。你应该不透明地对待它,而不是试图分解或解释它的组成部分。


推荐阅读