OIDC / OAuth 應用程式的權限管理
第三方應用程式(非你服務所擁有)會作為身分提供者(IdP)整合進 Logto 以驗證使用者。這些應用程式通常來自外部服務供應商,因此需要謹慎管理權限以保護使用者資料。
Logto 讓你能夠控制授予第三方應用程式的具體權限。這包括管理 使用者資料、API 資源 以及 組織權限範圍。與第一方應用程式不同,第三方應用程式若請求未授權的權限範圍將被拒絕存取。
啟用特定權限範圍後,你可以決定第三方應用程式能存取哪些使用者資訊。使用者會在使用者授權頁面(consent screen)審查並同意這些權限後才會授權存取。
管理 OIDC 第三方應用程式的權限
前往 控制台 > 應用程式 > 應用程式詳情頁,切換至 權限 分頁並點擊 新增權限 按鈕,即可管理你的第三方應用程式權限。
第三方應用程式請求時,基本使用者資料為必填。Logto 也支援分配組織資源,非常適合 B2B 服務場景。
授予使用者資料權限
分配使用者層級權限,包括 使用者資料權限(如電子郵件、姓名與頭像)以及 API 資源權限(如特定資源的讀寫權限)。
所請求資源的名稱(如個人使用者資料、API 名稱)與具體權限描述(如你的電子郵件地址)將顯示於使用者授權頁面,供使用者審查。
點擊 授權 按鈕後,使用者即同意將指定權限授予第三方應用程式。

授予組織資料權限
分配組織層級權限,包括 組織權限 與 API 資源權限。Logto 允許將 API 資源分配給特定組織角色。
在使用者授權頁面上,組織資料會與使用者資料分開顯示。在授權流程中,使用者必須選擇特定組織以授權存取,並可在確認前切換組織。第三方應用程式僅能存取所選組織的資料及相關權限。

權限類型
使用者權限(使用者資料權限範圍)
這些權限為 OIDC 標準與 Logto 基本使用者資料權限範圍,用於存取使用者宣告(claims)。使用者宣告將分別回傳於 ID 權杖(ID token)與 userinfo 端點。
profile
:OIDC 標準權限範圍,用於存取使用者姓名與頭像。email
:OIDC 標準權限範圍,用於存取使用者電子郵件。phone
:OIDC 標準權限範圍,用於存取使用者電話號碼。custom_data
:Logto 使用者資料權限範圍,用於存取 使用者自訂資料。identity
:Logto 使用者資料權限範圍,用於存取使用者已連結的 社交身分 資訊。role
:Logto 使用者資料權限範圍,用於存取使用者 角色 (Role) 資訊。urn:logto:scope:organizations
:Logto 使用者組織權限範圍,用於存取使用者組織資訊。若啟用並由第三方應用程式請求,將於使用者授權頁面顯示組織選擇器,讓使用者審查並選擇欲授權的組織。詳見 組織 (Organizations)。urn:logto:scope:organization_roles
:Logto 使用者組織權限範圍,用於存取使用者組織角色資訊。
在授權請求中請求未啟用的使用者資料權限範圍將導致錯誤。
API 資源權限(API 資源權限範圍)
Logto 為 API 資源提供 基於角色的存取控制 (RBAC, Role-based access control)。API 資源為你服務所擁有並受 Logto 保護的資源。你可自訂 API 權限範圍並分配給第三方應用程式,以存取你的 API 資源。詳見 授權 (Authorization)。
你可於 控制台 > API 資源 下建立與管理 API 資源權限範圍。
未啟用給第三方應用程式的 API 資源權限範圍,在授權請求時將被忽略,不會顯示於使用者授權頁面,也不會由 Logto 授權。
組織權限(組織權限範圍)
組織權限 為專為 Logto 組織定義的權限範圍,用於存取組織資訊與資源。
如需使用 Logto 組織權限,需先啟用 urn:logto:scope:organizations
使用者權限範圍。否則在授權請求時組織權限將被忽略。
你可於組織範本設定頁自訂組織權限範圍。詳見 組織範本 (Organization template)。
未啟用給第三方應用程式的組織權限範圍,在授權請求時將被忽略,不會顯示於使用者授權頁面,也不會由 Logto 授權。
預設 OIDC 權限
核心 OIDC 權限會自動為你的應用程式配置。這些權限範圍為 OIDC 驗證 (Authentication) 所必需,且不會顯示於使用者授權頁面。OAuth 應用程式若無需 OIDC 驗證 (Authentication) 可選擇不請求。
-
openid
:OIDC 驗證 (Authentication) 必需(純 OAuth 可選)。授予 ID 權杖(ID token)與 userinfo_endpoint 存取權。 -
offline_access
:可選。用於取得 重新整理權杖 (Refresh tokens),以支援長效存取或背景任務。