註冊與登入
註冊與登入是終端使用者進行驗證 (Authentication) 與授權 (Authorization) 存取用戶端應用程式的核心互動流程。作為一個以 OIDC 為基礎的集中式 CIAM 平台,Logto 為多個用戶端應用程式與平台上的使用者提供統一的登入體驗。
使用者流程
在典型的 OIDC 驗證流程中,使用者首先開啟用戶端應用程式。用戶端應用程式會向 Logto OIDC 簽發者 (Issuer) 發送 授權請求 (Authorization request)。若使用者尚未有有效的互動階段,Logto 會將使用者導向 Logto 託管的登入體驗頁面。使用者在 Logto 體驗頁面上互動並輸入必要的憑證完成驗證。一旦驗證成功,Logto 會將使用者重導回用戶端應用程式,並附帶 授權碼 (Authorization code)。用戶端應用程式再以授權碼向 Logto OIDC 簽發者發送 權杖請求 (Token request) 以取得權杖。
使用者互動
每當用戶端應用程式發起授權請求時,系統會為每次使用者互動建立一個 互動階段 (Interaction session)。此階段集中管理多個用戶端應用程式間的使用者互動狀態,使 Logto 能提供一致的登入體驗。當使用者在不同用戶端應用程式間切換時,互動階段保持一致,維持使用者的驗證狀態,減少跨平台重複登入的需求。建立 互動階段 後,系統會提示使用者登入 Logto。
Logto 的 體驗應用程式 (Experience app) 是專為登入體驗設計的託管應用程式。當使用者需要驗證時,會被導向 體驗應用程式,在此完成登入並與 Logto 互動。體驗應用程式 會利用現有的互動階段追蹤並支援使用者的互動進度。
為支援並控制這段使用者旅程,Logto 提供一組以階段為基礎的 使用體驗 API (Experience APIs)。這些 API 讓 體驗應用程式 能即時更新與存取互動階段狀態,處理多種使用者識別與驗證方式。
當使用者通過所有驗證與驗證要求後,互動階段會將結果提交給 OIDC 簽發者,完成驗證與授權,確保登入流程安全結束。
體驗頁面僅設計於驗證流程中存取。為防止搜尋引擎索引這些頁面並避免直接存取,Logto 會自動在體驗 HTML 頁面加入 <meta name="robots" content="noindex, nofollow" />。
登入體驗自訂
Logto 提供靈活且可自訂的使用者體驗,滿足各種業務需求,包括自訂品牌、使用者介面與互動流程。體驗應用程式 可依用戶端應用程式的品牌與安全需求進行調整。
常見問題
每個應用程式專屬登入體驗方法或品牌
針對需要不同 登入 UI 的應用程式或組織,Logto 支援 應用程式專屬品牌設定 與 組織專屬品牌設定 的自訂。
若需根據使用者類型或站點提供不同 登入方式,可利用 驗證參數(如 first_screen 與 direct_sign_in)將使用者導向自訂登入選項的終端頁面。
限制電子郵件網域 / IP 位址 / 地區
若需基於屬性進行存取控制(如限制登入電子郵件網域、IP 位址或地區),可利用 Logto 的 自訂權杖宣告 (Custom token claims) 功能,根據使用者屬性拒絕或允許授權請求。
登入與註冊的 Headless API
目前 Logto 尚未提供登入與註冊的 Headless API。不過,你可以透過 自帶 UI (Bring your own UI) 來自訂登入與註冊體驗。
相關資源
為什麼你應該棄用 Resource Owner Password Credentials (ROPC) 授權類型
為什麼你應該使用授權碼流程 (Authorization code flow) 而非隱式流程 (Implicit flow)?
權杖式驗證 (Token-based authentication) 與階段式驗證 (Session-based authentication) 比較