firebase - GCP中的授权和认证机制
问题描述
我想创建一个类似Udemy的视频平台,用户可以在其中看到所有视频,但只能观看他购买的视频。
我正在打一个休息电话,从一个角度应用程序的存储桶中获取视频,在这里使用Firebase身份验证。在我对存储桶的 GET 请求中,我传递了从Firebase authn获得的访问令牌。
此访问令牌是否可用于确定用户访问存储桶中视频的范围?
假设我已为特定用户授予对存储桶中视频的读取权限,使用访问令牌可以获取视频吗?但每次我尝试它都显示未经授权。有没有其他方法可以验证用户对存储桶对象的访问权限。
解决方案
Google建议不要使用 ACL,因为它很难管理并且对授权有全局视图。
在大多数情况下,建议使用 Cloud Identity and Access Management (Cloud IAM) 来控制对资源的访问。
注意:可以通过 ACL 或 Cloud IAM 政策授予权限。通常,由 Cloud IAM 政策授予的权限不会出现在 ACL 中,由 ACL 授予的权限也不会出现在 Cloud IAM 政策中。唯一的例外是直接应用于存储桶的 ACL 和某些存储桶级别的 Cloud IAM 政策,如 Cloud IAM 与 ACL 的关系中所述。
IMO,最好的模式是在您身边拥有一个数据库,每个用户允许 GCS 上的文件。您可以将这些存储在 Firestore 中:价格实惠、按需付费、免费套餐。对于下载视频,您可以通过生成 signedUrl来临时访问用户。
推荐阅读
- git - 如何在 Visual Studio 中配置 SECOND Source Control Repo?
- sql - SQL 删除镜像行/对
- javascript - 使用 ajax 在 HTML 中使用 FormData 通过多部分表单发送数据和文件
- twitter-bootstrap - 使用引导程序 4 的垂直可折叠菜单项
- javascript - (HTML/Js) 循环元素可见性
- blogger - 博主 - 我如何更改我的标题大小?
- javascript - 无法从 combineLatest 获取数据 - Angular
- php - 禁用变体中的延期交货
- awk - 将列从文件附加到另一个,awk
- python - 在 TensorFlow TPU 中使用自定义 Keras 优化器