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

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

權限類型
使用者權限(使用者資料範圍,User profile scopes)
這些權限為 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 資源範圍,API resource scopes)
Logto 為 API 資源提供 基於角色的存取控制 (RBAC, Role-based access control)。API 資源為你服務所擁有並受 Logto 保護的資源。你可指派自訂 API 權限範圍給第三方應用程式,以存取你的 API 資源。詳見 RBAC、組織範本與 保護你的 API。
你可於 控制台 > API 資源 下建立與管理 API 資源範圍。
未啟用給第三方應用程式的 API 資源範圍,在授權請求時將被忽略,不會顯示於使用者授權頁面,也不會被 Logto 授權。
組織權限(組織範圍,Organization scopes)
組織權限 為專為 Logto 組織定義的權限範圍,用於存取組織資訊與資源。
要使用 Logto 組織權限,需先啟用 urn:logto:scope:organizations
使用者範圍。否則在授權請求時,組織權限將被忽略。
你可於組織範本設定頁自訂組織範圍。詳見 設定組織範本。
未啟用給第三方應用程式的組織範圍,在授權請求時將被忽略,不會顯示於使用者授權頁面,也不會被 Logto 授權。