如何在你的 Encore 應用程式中使用 Logto
了解如何在你的 Encore 後端應用程式中使用 Logto 進行用戶認證。在這個指南中,我們將展示如何將你的 Go 後端與 Logto 整合。
了解如何在你的 Encore 後端應用程式中使用 Logto 進行用戶認證。在這個指南中,我們將展示如何將你的 Go 後端與 Logto 整合。
Encore 是一個後端開發平台,可以輕鬆構建生產就緒的 API 和微服務。
Logto 是一個現代化的 Auth0 替代方案,可以在幾分鐘內幫助你建立登錄體驗和用戶身份。它特別適合保護使用 Encore 構建的 API 服務。
這份指南將向你展示如何將 Logto 與你的 Encore 應用程式整合,以實現安全的用戶認證並保護你的 API 端點。
在我們開始與 Encore 整合之前,你需要在 Logto 設置一些東西:
如果你還沒有帳戶,請到 Logto 雲端 創建一個帳戶。
在 Logto 控制台中創建一個 API 資源,這代表你的 Encore API 服務
https://api.encoreapp.com)

現在讓我們在你的 Encore 應用程式中實現認證。我們將使用 Encore 的內建 認證處理器 驗證 Logto 的 JWT 令牌。
在你的 Encore 應用程式中添加這兩個模塊:
創建 auth/auth.go 並添加以下代碼:
然後,你可以使用這個認證處理器來保護你的 API 端點:
我們已經完成了 Encore API 服務中的工作。現在我們需要將 Logto 整合到我們的前端應用程式中。
你可以選擇在 Logto 快速入門 頁面中使用的框架,以將 Logto 整合到你的前端應用程式中。在這個指南中,我們以 React 為例。
查看 將認證添加到你的 React 應用程式 指南,以了解如何將 Logto 與你的 React 應用程式整合。在這個例子中,你只需完成到整合部分。之後,我們將展示前端應用程式如何從 Logto 獲得訪問令牌以訪問 Encore API。
首先,更新你的 LogtoConfig,在 resources 字段中添加你在 Encore 應用程式中使用的 API 資源。這告訴 Logto 我們將請求此 API 資源的訪問令牌(Encore API)。
更新 LogtoConfig 後,如果用戶已經登錄,他們需要登出並重新登錄,以便新的 LogtoConfig 設置生效。
一旦用戶登錄,你可以使用 Logto React SDK 提供的 getAccessToken 方法來獲取訪問特定 API 資源的訪問令牌。例如,要訪問 Encore API,我們使用 https://api.encoreapp.com 作為 API 資源標識符。
然後,在後續的請求中,將此訪問令牌添加到請求標頭中作為 Authorization 欄位。
就是這樣,你已成功將 Logto 與你的 Encore 應用程式整合。
如果你想在 Encore 中使用更多 Logto 功能,你可以參考以下鏈接獲取更多信息:
scope 信息添加到你的訪問令牌(注意,在更新 Logto 設置後需要重新登錄)