使用 Logto 建立 Nuxt 認證
學習如何透過整合 Logto SDK 在 Nuxt 中建立用戶認證流程。
開始
簡介
- Logto 是一個開源的 Auth0 替代方案,用於構建身份基礎設施。它支持各種登錄方式,包括用戶名、電郵、電話號碼和流行的社交登錄,例如 Google 和 GitHub。
- Nuxt 一個開源框架,讓網頁開發直觀且強大。
在本教程中,我們將向你展示如何通過集成 Logto SDK 來使用 Nuxt 構建用戶身份驗證流程。教程使用 TypeScript 作為編程語言。
先決條件
在開始之前,請確保你具備以下條件:
- 一個 Logto 帳戶。如果你還沒有,可以 免費註冊。
- A Nuxt 開發環境和一個項目。
創建一個 Logto 應用程序
要開始,請創建一個類型為 "傳統網頁" 的 Logto 應用程序。按照以下步驟創建 Logto 應用程序:
- 登錄到 Logto 控制台。
- 在左側導航欄中,點擊 應用程序。
- 點擊 創建應用程序。
- 在打開的頁面中,找到 "傳統網頁" 部分並定位到 "Nuxt" 卡片。
- 點擊 開始構建,輸入你的應用程序名稱。
- 點擊 創建。
然後你應該會看到一個互動指南,指導你如何將 Logto SDK 集成到你的 Nuxt 應用程序中。以下內容可以作為未來的參考。
整合 Logto SDK
安裝
透過你喜愛的套件管理器安裝 Logto SDK:
註冊 Logto 模組
在你的 Nuxt 配置檔案(nuxt.config.ts
)中,添加 Logto 模組:
該模組的最小配置如下:
由於這些資訊具有敏感性,建議使用環境變數:
請參閱 runtime config 以獲取更多資訊。
實現登入與登出
配置重定向 URI
切換到 Logto 控制台的應用程序詳細信息頁面。添加一個重定向 URI http://localhost:3000/callback
。
重定向 URI 是 OAuth 2.0 的概念,表示身份驗證後應重定向的位置。
同樣,將 http://localhost:3000/
添加到 "登出後重定向 URI" 部分。
登出後重定向 URI 是 OAuth 2.0 的概念,表示登出後應重定向的位置。
然後點擊 "保存" 來保存更改。
當註冊 @logto/nuxt
模組時,它將執行以下操作:
- 添加三個路由來進行登入(
/sign-in
)、登出(/sign-out
)和回調(/callback
)。 - 匯入兩個可組合的函數:
useLogtoClient
和useLogtoUser
。
這些路由可以通過模組選項中的 logto.pathnames
進行配置,例如:
查看 @logto/nuxt
套件中的 type definition file 獲取更多資訊。
由於 Nuxt 頁面會在初始加載後水合化並成為單頁應用程式(SPA),我們需要在需要時將用戶重定向到登入或登出路由。
顯示用戶資訊
要顯示用戶的信息,你可以使用 useLogtoUser()
可組合函數,該函數在服務器和客戶端端均可用:
檢查點:運行應用程式
現在你可以運行應用程序並嘗試使用 Logto 登錄/登出 :
- 在瀏覽器中打開應用程序,你應該會看到 "登錄" 按鈕。
- 點擊 "登錄" 按鈕,你應該會被重定向到 Logto 登錄頁面。
- 登錄後,你應該會被重定向回應用程序,並且你應該會看到用戶數據和 "登出" 按鈕。
- 點擊 "登出" 按鈕,你應該會被重定向到 Logto 登出頁面,然後被重定向回應用程序,處於未登錄狀態。
如果在集成過程中遇到任何問題,請隨時 加入我們的 Discord 服務器 與社區和 Logto 團隊聊天!