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 授予。