繁體中文(香港)
設置 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
替換為實際路徑。