使用 Logto 建立 Angular 認證
學習如何透過整合 Angular OIDC 客戶端程式庫,在 Angular 中建立用戶認證流程。
開始使用
簡介
- Logto 是一個開源的 Auth0 替代方案,用於構建身份基礎設施。它支持各種登入方式,包括使用者名稱、電子郵件、電話號碼和流行的社群登入,例如 Google 和 GitHub。
- Angular 是一個由 Google 創建和維護的網頁開發框架。
在本教程中,我們將向你展示如何通過整合 Logto SDK 來使用 Angular 構建使用者身份驗證流程。教程使用 TypeScript 作為程式語言。
先決條件
在開始之前,請確保你具備以下條件:
- 一個 Logto 帳戶。如果你還沒有,可以 免費註冊。
- An Angular 開發環境和一個專案。
創建一個 Logto 應用程式
要開始,請創建一個類型為 "單頁應用程序" 的 Logto 應用程式。按照以下步驟創建 Logto 應用程式:
- 登入到 Logto 控制台。
- 在左側導航欄中,點擊 應用程式。
- 點擊 創建應用程式。
- 在打開的頁面中,找到 "單頁應用程序" 部分並定位到 "Angular" 卡片。
- 點擊 開始構建,輸入你的應用程式名稱。
- 點擊 創建。
然後你應該會看到一個互動指南,指導你如何將 Logto SDK 整合到你的 Angular 應用程式中。以下內容可以作為未來的參考。
在你的專案中整合 Logto
安裝
安裝 Logto JS 核心 SDK 和 Angular OIDC 客戶端程式庫:
配置應用程序
在你的 Angular 專案中,將認證提供者添加到你的 app.config.ts
:
實現登錄和登出
配置重定向 URI
切換到 Logto 控制台的應用程式詳細資料頁面。添加一個重定向 URI http://localhost:3000/callback
。
重定向 URI 是 OAuth 2.0 的概念,表示身份驗證後應重定向的位置。
同樣,將 http://localhost:3000/
添加 到 "登出後重定向 URI" 部分。
登出後重定向 URI 是 OAuth 2.0 的概念,表示登出後應重定向的位置。
然後點擊 "保存" 來保存更改。
在你希望實現登錄和登出的元件中(例如 app.component.ts
),注入 OidcSecurityService
並使用它進行登錄和登出。
然後,在模板中添加登錄和登出按鈕:
訂閱認證狀態並顯示用戶信息
OidcSecurityService
提供了一種方便的方法來訂閱認證狀態:
並在模板中使用:
檢查點: 運行應用程序
現在你可以運行應用程式並嘗試使用 Logto 登入/登出:
- 在瀏覽器中打開應用程式,你應該會看到 "登入" 按鈕。
- 點擊 "登入" 按鈕,你應該會被重定向到 Logto 登入頁面。
- 登入後,你應該會被重定向回應用程式,並且你應該會看到使用者數據和 "登出" 按鈕。
- 點擊 "登出" 按鈕,你應該會被重定向到 Logto 登出頁面,然後被重定向回應用程式,處於未登入狀態。
如果在整合過程中遇到任何問題,請隨時 加入我們的 Discord 伺服器 與社群和 Logto 團隊聊天!