跳至主要內容

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

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

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

透過啟用特定的權限範圍,你可以決定第三方應用程式可以存取哪些使用者資訊。使用者將在使用者授權頁面上審核並批准這些權限後授予存取權。

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

前往你的 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 使用者資料範圍,用於存取使用者 角色 資訊。
  • urn:logto:scope:organizations:Logto 使用者組織範圍,用於存取使用者組織資訊。如果啟用並由第三方應用程式請求,將在使用者授權頁面上顯示組織選擇器。這允許使用者審核並選擇他們希望授予存取權的組織。詳情請參閱 組織
  • urn:logto:scope:organization_roles:Logto 使用者組織範圍,用於存取使用者組織角色資訊。
注意:

在授權請求中請求未啟用的使用者資料範圍將導致錯誤。

API 資源權限(API 資源權限範圍)

Logto 為 API 資源提供基於角色的存取控制 (RBAC)。API 資源是由你的服務擁有並由 Logto 保護的資源。你可以分配自定義的 API 權限範圍給第三方應用程式以存取你的 API 資源。請參閱 RBAC、組織範本和 保護你的 API 以獲取更多資訊。

你可以在 控制台 > API 資源 下創建和管理你的 API 資源範圍。

注意:

未啟用給第三方應用程式的 API 資源範圍在發送授權請求時將被忽略。它不會顯示在使用者授權頁面上,也不會被 Logto 授予。

組織權限(組織權限範圍)

組織權限 是專為 Logto 組織定義的範圍。它們用於存取組織資訊和資源。

備註:

要使用 Logto 組織權限,你需要啟用 urn:logto:scope:organizations 使用者範圍。否則,組織權限在發送授權請求時將被忽略。

你可以在組織範本設定頁面下定義自己的組織範圍。詳情請參閱 配置組織範本

注意:

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