跳至主要內容

驗證 (Authentication) vs. 授權 (Authorization)

驗證 (Authentication)授權 (Authorization) 的差異可簡述如下:

  • 驗證 (Authentication) 回答「你擁有哪個身分?」
  • 授權 (Authorization) 回答「你可以執行哪些操作?」

完整的客戶身分與存取管理(CIAM, Customer Identity and Access Management)介紹,請參閱我們的 CIAM 系列文章:

驗證 (Authentication)

Logto 支援多種互動式與非互動式驗證方法,例如:

  • 登入體驗 (Sign-in experience):終端使用者的驗證流程。
  • 機器對機器驗證 (M2M, Machine-to-Machine authentication):服務或應用程式的驗證流程。

驗證的最終目標極為簡單:驗證並取得實體(在 Logto 中即使用者或應用程式)的唯一識別符。

授權 (Authorization)

在 Logto 中,授權透過 角色型存取控制 (RBAC, Role-based Access Control) 實現,讓你完整控制使用者或 M2M 應用程式對以下項目的存取權限:

  • API 資源 (API resources):以絕對 URI 表示的全局實體。
  • 組織 (Organizations):使用者或應用程式的群組。
  • 組織 API 資源 (Organization API resources):屬於特定組織的 API 資源。

深入瞭解這些概念,請參閱:

以下圖表直觀呈現這些概念間的關係:

簡而言之,授權是定義規則來決定「身分 (Identities)」群組中的實體能存取「資源 (Resources)」群組中的哪些實體。

常見問題

我需要指定哪些使用者能登入應用程式

由於單一登入 (SSO, Single Sign-On) 的特性,Logto 目前不支援將應用程式作為資源。建議改為定義 API 資源與權限來控制資源存取。

我需要使用者登入組織

如前所述,驗證涉及確認實體身分,而存取控制透過授權處理。因此:

  • 判斷使用者所屬組織屬於授權範疇。
  • 登入流程屬於驗證範疇。

這表示 Logto 中不存在「登入組織」的概念。使用者驗證後,即可根據定義的權限存取所有資源(包含組織資源)。

此模型高效且清晰,分離了驗證與授權的關注點。所有現代 SaaS 應用程式(如 GitHub 和 Notion)均遵循此模型。

若需建立使用者來源與組織的 1-1 對應,可參考 企業級單一登入 (Enterprise SSO)組織即時佈建 (JIT, Just-in-Time provisioning)

客戶需要自訂登入頁面品牌

請參閱 應用程式專屬品牌設定 (App-specific branding)組織專屬品牌設定 (Organization-specific branding) 進行相關配置。