简体中文
将 Google Cloud Storage 设为 Logto 的文件存储
设置 Google Cloud Storage 作为 Logto 文件存储的实践指南。
默认情况下,Logto 控制台使用文本输入来输入静态文件 URL,如头像。为了启用更直观的文件上传体验与拖放功能,你必须配置一个存储提供商。
本文提供了如何将 Google Cloud Storage 配置为你的存储提供商的分步指南。
前提条件
- 一个 Logto 实例,可以在 Node.js 中本地运行或在 Docker 容器中运行。如果你没有,可以查看此指南: https://docs.logto.io/docs/tutorials/get-started/#local
- 一个 Google Cloud 项目
准备存储桶
创建一个存储桶非常简单。参考 Google Cloud 官方文档: https://cloud.google.com/storage/docs/creating-buckets。
存储桶准备好后,下一步是设置公共查看权限。步骤如下:
- 在 Google Cloud 控制台中,导航到 Cloud Storage Buckets 页面。
- 从存储桶列表中,点击你想要公开的存储桶的名称。
- 选择页面顶部靠近的 Permissions 选项卡。
- 在 Permissions 部分,点击 Grant access 按钮。
- 在 New principals 字段中,输入
allUsers
。 - 在 Select a role 下拉框中,在过滤框中输入 Storage Object Viewer,并从过滤结果中选择 Storage Object Viewer。
- 点击 Save。
- 点击 Allow public access。
确保 "Storage Object Viewer" 角色已分配。以下是参考截图:
获取密钥文件
Google Cloud SDK 通常使用“密钥文件”。如果你不熟悉 Google Cloud,这可能是最具挑战性的一部分。获取方法如下:
- 前往服务账户页面: https://console.cloud.google.com/iam-admin/serviceaccounts
- 创建一个账户,输入名称,然后继续。
- 在下一步中,选择“Storage Object User”角色。你可以通过过滤器找到它。
- 完成账户创建后,转到账户详情页面并选择“keys”选项卡。
- 点击“add key”,选择“create a new key”,在对话框中选择“json”,然后下载你的 json 文件。
添加密钥文件到 Logto
Logto 应该能访问到密钥文件。
在 Node.js 中运行
将文件复制到 /path/to/logto/core
并重命名为 google-storage-key.json
。
在 Docker 容器中运行
如果你在 Docker 容器中运行 Logto,需要将文件挂载到容器中。假设你使用的是 Docker Compose,添加以下内容到你的配置中:
记得将 /path/to
替换为实际路径。