English
  • google-cloud

Setup Google Cloud Storage as the file storage of Logto

A hands-on guide to setting up Google Cloud Storage as the file storage of Logto.

Sijie
Sijie
Developer

默認情況下,Logto Console 使用文本輸入框來處理靜態文件的 URL,例如頭像。要啟用更直觀的文件上傳體驗(例如拖放功能),你必須配置存儲提供商。

這篇文章提供了設置 Google Cloud Storage 作為你的存儲提供商的逐步指南。

前置要求

準備桶

創建一個桶是簡單的。參考官方的 Google Cloud 文檔:https://cloud.google.com/storage/docs/creating-buckets。

一旦桶準備好了,下一步是設置公開查看訪問。下面是如何操作的:

  1. 在 Google Cloud 控制台中,導航到 Cloud Storage 的 Buckets 頁面。
  2. 在桶的列表中,點擊你想要公開的桶的名稱。
  3. 選擇頁面頂部附近的 Permissions 標籤。
  4. Permissions 部分,點擊 Grant access 按鈕。
  5. New principals 字段中,輸入 allUsers
  6. Select a role 下拉菜單中,輸入 Storage Object Viewer 在過濾框中,並從過濾結果中選擇 Storage Object Viewer
  7. 點擊 Save
  8. 點擊 Allow public access

確保分配了“Storage Object Viewer”角色。這裡是一張參考截圖:

Storge Object Viewer

獲取密鑰文件

Google Cloud SDK 通常使用“密鑰文件”。如果你對 Google Cloud 不熟悉,這可能是最具挑戰性的部分。以下是獲取它的方法:

  1. 轉到服務帳戶頁面:https://console.cloud.google.com/iam-admin/serviceaccounts
  2. 創建一個賬戶,輸入一個名字,然後繼續。
  3. 在下一步,選擇“Storage Object User”角色。你可以用過濾器找到它。
  4. 一旦完成賬戶創建,轉到賬戶詳細信息頁面並選擇“keys”標籤。
  5. 點擊“add key”,選擇“create a new key”,在對話框中選擇“json”,然後下載你的 json 文件。

Storge Object User

將密鑰文件添加到 Logto

Logto 應有訪問密鑰文件的權限。

在 Node.js 中運行

將文件複製到 /path/to/logto/core 並重命名為 google-storage-key.json

在 Docker 容器中運行

如果你在 Docker 容器中運行 Logto,你需要將文件掛載到容器中。假設你使用 Docker Compose,添加這行到你的配置中:

記得將 /path/to 替換為實際路徑。

更新提供商配置

我們將使用 Logto 的 CLI 來更新提供商配置。CLI 通常位於 Logto 實例的根文件夾中。要了解更多,請查看此鏈接:https://docs.logto.io/docs/references/using-cli/

準備 JSON

這裡是一個示例配置 JSON:

記得將 projectIdbucketName 替換為你的數值。

通過 CLI 更新

將 JSON 字串化為字符串,然後運行以下命令:

測試設置

現在所有配置都設置好了,記得重啟 Logto 並嘗試一下。你可以到“登入體驗”部分,試著上傳一個標誌。

如果你覺得這些步驟很複雜,可以考慮使用 Logto 的雲版本。我們替你搞定一切!