跳至主要內容

OIDC / OAuth 應用程式的權限管理

第三方應用程式(非你服務所擁有)會作為身分提供者(IdP)整合至 Logto 以驗證(Authentication)使用者。這些應用程式通常來自外部服務供應商,因此需要謹慎管理權限(Permissions)以保護使用者資料。

Logto 讓你能夠控制授予第三方應用程式的具體權限,包括管理 使用者資料API 資源組織範圍。與第一方應用程式不同,第三方應用程式若請求未授權的權限範圍(Scopes)將被拒絕存取。

啟用特定權限範圍後,你可以決定第三方應用程式能存取哪些使用者資訊。使用者會在使用者授權頁面(Consent screen)審查並同意這些權限後,才會授予存取權。

管理 OIDC 第三方應用程式的權限

前往 控制台 > 應用程式 > 應用程式詳情頁,切換至 權限(Permissions) 分頁,點擊 新增權限(Add permissions) 按鈕,即可管理第三方應用程式的權限。

第三方應用程式請求時,基本使用者資料為必填。Logto 也支援指派組織資源,非常適合 B2B 服務場景。

授予使用者資料權限

指派使用者層級權限,包括 使用者資料權限(如電子郵件、姓名與頭像)及 API 資源權限(如特定資源的讀寫權限)。

所請求資源的名稱(如個人使用者資料、API 名稱)及具體權限描述(如你的電子郵件地址)將顯示於使用者授權頁面,供使用者審查。

使用者點擊 授權(Authorize) 按鈕後,即同意將指定權限授予第三方應用程式。

grant permissions of user data

授予組織資料權限

指派組織層級權限,包括 組織權限API 資源權限。Logto 支援將 API 資源指派給特定組織角色。

在使用者授權頁面上,組織資料會與使用者資料分開顯示。在授權流程中,使用者必須選擇特定組織以授予存取權,並可於確認前切換組織。第三方應用程式僅能存取所選組織的資料及相關權限。

grant permissions of organization data

權限類型

使用者權限(使用者資料範圍,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 授權。