首页 > 解决方案 > 使用 Firebase 身份验证的 gsutil 并行复合上传

问题描述

我正在开发一个使用 Firebase 身份验证的 Electron 应用程序。用户将上传 500mb+ 的文件。我想使用 gsutil cp 命令来启用并行复合上传。我可以将 Firebase 身份验证令牌与 gsutil 一起使用吗?我读到服务帐户可以由经过身份验证的用户模拟,这是否适用于 Firebase?

标签: firebasegoogle-cloud-platformfirebase-authenticationgoogle-cloud-storage

解决方案


请注意,gsutil是一个 Python 应用程序,可让您从命令行访问 Google Cloud Storage。您可以使用 gsutil 执行各种存储桶和对象管理任务,包括:

  • 创建和删除存储桶。
  • 上传、下载和删除对象。
  • 列出存储桶和对象。移动、复制和重命名对象。
  • 编辑对象和存储桶 ACL。

gcloud命令行界面是创建和管理 Google Cloud 资源的主要 ​​CLI 工具。您可以使用此工具从命令行或脚本和其他自动化执行许多常见的平台任务。

在我看来,从 Firebase 控制台生成的令牌不用于直接向 Cloud Storage 进行身份验证。相反,我相信它是一个Firebase ID 令牌,因此,您将无法使用 gsutil 生成它。

根据官方文档,对于 gsutil 身份验证,您必须使用以下命令

  • gcloud auth activate-service-account --key-file KEY_FILE

关于您的其他问题,Firebase 身份验证客户端 SDK没有内置模拟机制。要在这些 SDK 上以特定用户身份登录,您必须知道该用户的凭据。

但是,Firebase Admin SDK在与实时数据库交互时支持模拟用户。因为 Admin SDK 旨在以管理权限在受信任的环境中运行。

请查看官方文档以模拟普通用户


推荐阅读