跳至主要內容

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

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

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

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

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

前往 控制台 > 應用程式 > 應用程式詳細頁,選擇你的 OIDC 第三方應用程式,切換到 權限 分頁,點擊 新增權限 按鈕,即可管理第三方應用程式的權限。

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

授予使用者資料權限

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

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

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

grant permissions of user data

授予組織資料權限

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

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

grant permissions of organization data

權限類型

使用者權限(使用者資料權限範圍)

這些權限為 OIDC 標準及 Logto 基本使用者資料權限範圍,用於存取使用者宣告 (Claims)。使用者宣告將分別回傳於 ID 權杖 (ID token) 及 userinfo 端點。

  • profile:OIDC 標準權限範圍,用於存取使用者姓名與頭像。
  • email:OIDC 標準權限範圍,用於存取使用者電子郵件。
  • phone:OIDC 標準權限範圍,用於存取使用者電話號碼。
  • custom_data:Logto 使用者資料權限範圍,用於存取 使用者自訂資料
  • identity:Logto 使用者資料權限範圍,用於存取使用者已連結的 社交身分 資訊。
  • role:Logto 使用者資料權限範圍,用於存取使用者 角色 資訊。
  • urn:logto:scope:organizations:Logto 使用者組織權限範圍,用於存取使用者組織資訊。若啟用且第三方應用程式請求此權限,則會在使用者授權頁面顯示組織選擇器,讓使用者審查並選擇欲授權的組織。詳見 組織
  • 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 使用者權限範圍。否則在授權請求時,組織權限將被忽略。

你可於組織範本設定頁自訂組織權限範圍。詳見 組織範本

注意:

未啟用給第三方應用程式的組織權限範圍,在授權請求時將被忽略,不會顯示於使用者授權頁面,也不會由 Logto 授權。