Logto 的授權系統及其在身分管理場景中的應用
探索 Logto 多功能的授權系統。
Logto 不僅是身份驗證提供者,也是授權提供者。在本文中,我將概述 Logto 的授權方法,並解釋這些靈活的層如何應用於各種場景。
使用基於角色的存取控制來保護你的 API 資源
在 Logto 註冊 API 資源
為了建立一個不同用戶擁有不同資源和操作許可的授權系統,你可以從在 Logto 中註冊 API 資源開始,然後添加許可。利用角色來聚合這些許可,無論是針對單個 API 還是多個 API。
Logto 的一個很棒的功能是能夠創建各種類型的角色,這些角色可以應用於不同的實體,包括用戶和機器對機器 (M2M) 應用。用戶可以繼承特定於用戶的角色,而 M2M 應用可以繼承為他們設計的角色。
目標實體:用戶
如果你的應用是一個普遍應用,不同的用戶需要執行不同的操作,利用用戶角色是一種建立有效訪問控制系統的靈活方式。
目標實體:機器對機器應用
如果你有一個需要直接與資源對話的應用,機器對機器 (M2M) 是一種常見的身份驗證做法。例如,一個在 Logto 中更新用戶自定義數據的 API 服務,或一個提取每日訂單的統計服務等。
在 Logto 中,M2M 應用可以用於兩個主要用例:
- 通過設置授權系統來保護你的無頭 API 應用。
- 使用 Logto 管理 API 開發服務,例如啟用允許最終用戶更新其身份相關信息的用戶配置文件。
在這種情況下用戶角色的區別在於,角色被明確定義為 M2M 角色,而不是用戶角色,並且只能分配給 M2M 應用。
在這個 API RBAC 上下文中,API 資源、角色和許可在統一的身份系統中被 "民主化" 和系統級別查看。這種方法在簡單的 B2C 產品中很常見,不太需要複雜的階層管理。
使用組織範本(RBAC)來保護你的組織級別資源
在 B2B 場景中,用戶角色可能在不同組織中有所不同。例如,John 可能在組織 A 擁有管理員角色,但在組織 B 中只擔任成員角色。
這可以通過在 Logto 中設置組織範本來實現,它可以幫助你的多租戶應用建立訪問控制系統。
與其為每個組織創建許多角色,Logto 使你能夠創建一個組織範本。這種方法在所有組織中保持一致性,同時允許用戶在不同組織中擁有不同的角色。
組織許可不需要註冊 API 資源。Logto 發行包含角色和其他聲明的組織令牌,可用於進一步驗證你的 API 中的組織令牌。
使用組織範本(RBAC)來保護系統和組織級別資源
如果你有在 Logto 中註冊的 API 資源並希望將其擴展到組織級別的使用,那是完全可行的。
如果你正在使用相同的端點來處理系統級功能和組織特定操作,這種需求可能會出現。擁有單一端點沒問題,並且利用組織上下文也可以有效確保租戶隔離。
在 Logto 中,你可以將 API 許可直接分配給組織的角色,根據你的具體要求進行定制。
以下是快速了解如何將 API 許可與組織角色集成。
此功能正在開發中,預計將在 2024 年上半年推出。
對 Logto 授權系統和我們即將推出的授權功能感到興奮嗎?立即註冊 並立即獲得最新的產品更新。