设置 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
上找到完整的代码示例
我实际上是在使用我的服务器来获取我在 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
上找到完整的代码示例