繁體中文(台灣)
  • sso
  • authentication
  • consent
  • permissions
  • idp

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

Logto 可以作為第三方應用程式的身份提供者。本篇文章將解釋如何將 Logto 配置為 IdP。

Simeng
Simeng
Developer

Logto 是一個基於雲的身份和訪問管理 (IAM) 平台,提供全面的身份驗證、授權和用戶管理功能。它可以用作第三方應用程式或服務的身份提供者 (IdP),允許你驗證用戶並管理他們對這些應用程式的訪問。

在本文中,我們將解釋如何將 Logto 配置為第三方應用程式的 IdP,以及如何使用它來驗證用戶和管理他們的權限。

什麼是身份提供者 (IdP)?

身份提供者 (IdP) 是一種驗證用戶身份並管理他們登錄憑證的服務。確認用戶身份後,IdP 生成身份驗證令牌或聲明,允許用戶訪問各種應用程式或服務而無需再次登錄。基本上,它是管理企業中員工身份和權限的首選系統。

什麼是第三方 IdP?

第三方 IdP 是不屬於服務提供者 (SP) 的另一個組織擁有的 IdP。SP 正在請求訪問不屬於其自身的用戶數據。例如,如果你使用 Logto 作為你的 IdP 並登錄到第三方社交應用程式,則 Logto 對該社交應用程式來說是第三方 IdP。

在現實中,許多應用程式使用 Google、Facebook 或其他第三方服務作為其 IdP。這稱為單一登錄 (SSO)。要了解更多有關 SSO 的信息,請查閱我們的文章 CIAM 101: Authentication, Identity, SSO

現在讓我們看看如何將 Logto 整合作為你應用程式的第三方 IdP。

如何為你的應用程式整合第三方 IdP 及其最佳實踐

先決條件

  • 開始之前,你需要有一個 Logto 帳戶。如果你還沒有帳戶,可以在 Logto 註冊一個免費帳戶。

  • 一個你想要設置 Logto 為 IdP 的第三方應用程式。用戶可以使用他們的 Logto 帳戶登錄。

在 Logto 中創建第三方 OIDC 應用程式

要在 Logto 中創建第三方 OIDC 應用程式,請按照以下步驟:

  1. 進入 Logto 控制台 並導航到 應用程式 頁面。

  2. 點擊頁面右上角的 創建應用程式 按鈕。選擇 "Third-party app -> OIDC" 作為應用程式類型。

    create application

  3. 在彈出模式中填寫基本的應用程序詳細信息,包括 名稱描述。點擊 創建 按鈕。這將在 Logto 中生成一個新的第三方應用程式實體並跳轉到詳細信息頁面。

    application details

設置 OIDC 配置

按照以下步驟在應用程式詳細信息頁面下配置 OIDC 設置:

  1. 導航到你剛剛創建的第三方應用程式的 應用程式詳細信息 頁面。

  2. 提供你第三方應用程式的 重定向 URI。這是第三方應用程式將用戶重定向到的 URL,Logto 驗證用戶後會轉到該 URL。你通常可以在第三方應用程式的 IdP 連接設置頁面找到此信息。

    redirect uri

    (Logto 支援多個重定向 URIs。你可以通過點擊 Add another 按鈕添加更多重定向 URIs。)

  3. 從 Logto 複製 client IDclient secret 並將它們輸入到你的服務提供者的 IdP 連接設置頁面。

    client credentials
  4. 從 Logto 複製 OIDC discovery endpoint 並將其輸入到你的服務提供者的 IdP 連接設置頁面。

    OIDC discovery endpoint 是一個 URL,服務提供者可以使用它來發現 IdP 的 OIDC 配置詳細信息。它包含服務提供者需要使用 Logto 驗證用戶的授權端點、令牌端點和用戶信息端點等信息。

    discovery endpoint endpoint details

檢查點

在所有 OIDC 配置詳細信息到位後,你現在可以使用 Logto 作為你的應用程式的第三方 IdP。測試你的第三方應用程式中的整合,以確保用戶可以用他們的 Logto 帳戶登錄。

管理應用程式權限

與第一方應用程式不同,第三方應用程式是 Logto 不擁有的應用程式。它們通常是由第三方服務提供者擁有並使用 Logto 作為外部 IdP 來驗證用戶。例如,Slack、Zoom 和 Notion 都是第三方應用程式。

在第三方應用程式請求訪問你的用戶信息時,確保授予正確的權限是非常重要的。Logto 允許你管理第三方應用程式的權限,包括用戶配置檔範疇、API 資源範疇和組織範疇。

請求未啟用的範疇將導致錯誤。這是為了確保你的用戶信息受到保護,只有你信任的第三方應用程式才可以訪問。一旦範疇被啟用,第三方應用程式可以請求訪問這些啟用的範疇。這些範疇將顯示在同意頁面上,供你的用戶審閱並授予訪問權限給第三方應用程式。

請查看我們的文章 用戶同意屏幕 以了解更多關於什麼是用戶同意屏幕的詳細信息。

為你的第三方應用程式添加權限

轉到 應用程式詳細信息 頁面並導航到 權限 標籤。點擊 Add permissions 按鈕以添加和管理你的第三方應用程式的權限。

permissions tab

用戶權限 (用戶配置檔範疇)

這些權限是 OIDC 標準和 Logto 的基本用戶配置檔範疇,用於訪問用戶聲明。用戶聲明將在 ID 令牌和用戶信息端點中返回。

user permissions

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

Logto 為 API 資源提供基於角色的訪問控制 (RBAC)。API 資源是由你的服務擁有並由 Logto 保護的資源。你可以分配自定義的 API 範疇給第三方應用程式,以訪問你的 API 資源。如果你不知道如何使用這些 API 資源範疇,請查看我們的 RBAC保護你的 API 指南。

api resource permissions

你可以在 Logto 控制台的 API 資源 頁面下創建和管理你的 API 資源範疇。

組織權限 (組織範疇)

組織權限是專門為 Logto 組織定義的範疇。它們用於訪問組織信息和資源。要了解有關組織及其使用方式的更多信息,請查看我們的 組織 指南。

organization permissions

要創建和管理你的組織範疇,請轉到 Logto 控制台的 組織模板 頁面。請參閱 配置組織 以獲取更多詳細信息。

同意頁面

一旦所有權限被啟用,第三方應用程式可以請求訪問已啟用的權限。這些權限將顯示在用戶同意頁面上,供你的用戶審閱並授予訪問權限給第三方應用程式。

consent permissions

透過點擊 授權 按鈕,用戶將授予第三方應用程式訪問那些請求的權限。

自定義同意屏幕

最後但同樣重要的是,確保第三方的品牌信息和隱私鏈接在用戶被重定向到第三方應用程式的同意頁面時,能正確顯示給用戶。

除了第一方應用程式的通用登錄體驗外,Logto 允許你自定義第三方應用程式的這些附加品牌信息,包括應用程式名稱、標誌和條款鏈接。

  1. 進入 Logto 控制台 並導航到第三方應用程式的詳細信息頁。

  2. 導航到 品牌 標籤。

    branding tab

  • 顯示名稱:將在同意頁面上顯示的第三方應用程式的名稱。它將代表請求訪問你的用戶信息的第三方應用程式的名稱。如果此字段留空,將使用應用程式名稱。
  • 標誌:將在同意頁面上顯示的第三方應用程式的標誌。它將代表請求訪問你的用戶信息的第三方應用程式的品牌。如果提供了第三方應用程式的標誌和 Logto 通用登錄體驗的標誌,這兩者都將顯示在同意頁面上。
  • 暗色模式 Logto 標誌:僅在啟用了暗色模式登錄體驗時可用。請在 登入體驗 頁面管理暗色模式設置。
  • 條款鏈接:將顯示在同意頁面的第三方應用程式條款鏈接。
  • 隱私鏈接:將顯示在同意頁面的第三方應用程式隱私鏈接。

摘要

恭喜!你已成功將 Logto 整合為你應用程式的第三方 IdP。透過配置 OIDC 設置,你已經建立了一個強大且安全的用戶身份驗證和授權機制。通過引入 Logto,你現在擁有一個順暢的過程來驗證用戶並調整他們對任何第三方應用程式的訪問。