設置 Google Cloud Storage 作為 Logto 的文件存儲
一個關於設置 Google Cloud Storage 作為 Logto 文件存儲的實用指南。
默認情況下,Logto Console 使用文本輸入來呈現靜態文件的 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
替換為實際路徑。
更新提供者配置
我們將使用 Logto 的 CLI 來更新提供者配置。CLI 通常位於 Logto 實例的根文件夾。了解更多信息,請查看此鏈接:https://docs.logto.io/docs/references/using-cli/
準備 JSON
這是一個示例配置 JSON:
記得將 projectId
和 bucketName
替換為你的值。
通過 CLI 更新
將 JSON 字串化並運行以下命令:
測試設置
現在一切都設置好後,記得重啟 Logto 並試一試。你可以進入「登錄體驗」部分,嘗試上傳一個標誌。
如果你覺得這些步驟很複雜,考慮使用 Logto 的雲版本。我們會為你處理所有事情!