繁體中文(香港)
  • google-cloud

設置 Google Cloud Storage 為 Logto 的文件存儲

設置 Google Cloud Storage 作為 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 的雲版本。我們替你搞定一切!