跳至主要內容

第三方應用程式(OAuth / OIDC)

Logto 的第三方應用程式整合功能,讓你能將 Logto 作為外部應用程式的 身分提供者 (IdP, Identity Provider)

身分提供者 (IdP) 是一種驗證使用者身分並管理其登入憑證的服務。確認使用者身分後,IdP 會產生驗證權杖或斷言,並允許使用者存取各種應用程式或服務,而無需再次登入。

與你在 將 Logto 整合到你的應用程式 指南中建立、由你完全控制的應用程式不同,第三方應用程式是由外部開發者或商業夥伴開發的獨立服務。

這種整合方式非常適合常見的商業場景。你可以讓使用者用 Logto 帳號存取合作夥伴的應用程式,就像企業用戶用 Google Workspace 登入 Slack 一樣。你也可以打造開放平台,讓第三方應用程式新增「使用 Logto 登入」功能,類似「使用 Google 登入」。

Logto 是一個基於 OpenID Connect (OIDC) 協議的身分服務,提供 驗證 (Authentication)授權 (Authorization) 能力。這讓整合 OIDC 第三方應用程式就像傳統網頁應用程式一樣簡單。

由於 OIDC 建立在 OAuth 2.0 之上,並新增了驗證層,因此你也可以使用 OAuth 協議整合第三方應用程式。

在 Logto 建立第三方應用程式

  1. 前往 控制台 > 應用程式
  2. 選擇「第三方應用程式」作為應用程式類型,並選擇以下其中一種整合協議:
    • OIDC / OAuth
  3. 輸入應用程式名稱與描述,然後點擊「建立」按鈕。系統將建立一個新的第三方應用程式。

所有建立的第三方應用程式都會在「應用程式」頁面的「第三方應用程式」分頁下分類顯示。這樣有助於你區分自有應用程式與第三方應用程式,方便統一管理。

設定 OIDC 組態

備註:

在設定 OIDC 組態前,請確保你已建立 OIDC 第三方應用程式

  1. 提供 OIDC 第三方應用程式的 redirect URI。這是第三方應用程式在使用者通過 Logto 驗證後,將使用者導向的 URL。 你通常可以在第三方應用程式的 IdP 連線設定頁面找到這個資訊。

  2. 從 Logto 應用程式詳細頁面取得 client IDclient secret,並填入你的服務提供者的 IdP 連線設定頁面。

  3. 從 Logto 應用程式詳細頁面取得 authorization endpointtoken endpoint,並提供給你的服務提供者。 如果你的服務提供者支援 OIDC 探索(discovery),你只需複製 Logto 應用程式詳細頁面的 discovery endpoint,並提供給服務提供者。服務提供者將能自動從 discovery endpoint 取得所有最新的 OIDC 驗證資訊。 否則,請點擊 顯示端點詳細資訊 按鈕,以檢視所有 OIDC 驗證端點。

出於安全考量,所有 OIDC 第三方應用程式在通過 Logto 驗證後,將會導向 使用者授權頁面 (Consent screen) 進行授權。

所有第三方應用程式請求的 使用者資料權限API 資源權限範圍組織權限 以及組織成員資訊都會顯示在授權頁面上。

這些請求的權限僅在使用者點擊「授權」按鈕後才會授予第三方應用程式。

consent screen

進階操作

常見問題

Logto 使用 角色型存取控制 (RBAC, Role-Based Access Control) 來管理使用者權限。在授權頁面上,僅會顯示已經透過角色分配給使用者的權限範圍(scopes)。如果第三方應用程式請求使用者未擁有的權限範圍,這些權限將不會顯示,以防止未經授權的授權行為。

管理方式如下:

  • 定義具有特定權限範圍的 全域角色組織角色
  • 根據存取需求將角色分配給使用者。
  • 使用者將自動繼承其角色的權限範圍。

使用案例:整合 Apache Answer,為你的用戶打造社群

使用 Logto 作為第三方身分提供者 (IdP)