设置 Bearer Token 以获得对 Google 个 Cloud Storage 对象的授权

Set Bearer Token to get authorization on Google Cloud Storage objects

我实际上是在使用我的服务器来获取我在 Google 云存储上上传的对象的列表(主要是图像和 PDF。)我不希望它们被设置 public .

我使用 getFiles()@google-cloud/storage 获取列表。

我需要在我的网站上的 <img> 标签上显示这些图片。

我还生成了一个 Bearer Token 以便能够访问它们,因为使用 url 不起作用(匿名者无权查看此文件,这是预期的行为。) .

但是我如何使用 Bearer 令牌来显示我从列表中获得的图像?这有点令人困惑。另外,我的前端不使用 @google-cloud/storage 包。

在前端的 Authorization: Bearer {Token} header(如 explained here)中使用 API 键将使 API 键可访问。因此,可以获得 API 密钥并从前端外部访问您的云存储文件。我从你的评论中了解到你不希望这样。

您可以选择使用 Signed URLs

签名 URL 是仅允许对特定文件进行特定访问 (read/write) 并持续一定时间的 URL。 您可以在后端生成这些签名 URL,并从前端访问这些文件。在文档中,您可以在 how to generate Signed URLs 和 node.js

上找到完整的代码示例