繁體中文(台灣)
  • 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 的雲版本。我們會為你處理所有事情!