繁體中文(香港)
  • 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,然後登入第三方社交 App,那麼 Logto 就是該社交 App 的第三方 IdP。

在現實世界中,許多應用程式使用 Google、Facebook 或其他第三方服務作為其 IdP。這稱為單一登入 (SSO)。要了解更多關於 SSO 的信息,請查看我們的文章 CIAM 101: 身份驗證、身份、SSO

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

集成

先決條件

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

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

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

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

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

  2. 點擊頁面右上角的 創建應用程式 按鈕。選擇“第三方 app -> OIDC”作為應用程式類型。

    創建應用程式

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

    應用程式詳細信息

設置 OIDC 配置

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

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

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

    redirect uri

    (Logto 支持多個重定向 URI。你可以通過點擊 添加另一個 按鈕添加更多重定向 URI。)

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

    client credentials
  4. 從 Logto 複製 OIDC 發現端點,並將其輸入到服務提供商的 IdP 連結設置頁面中。

    OIDC 發現端點是服務提供商可以用來發現 IdP 的 OIDC 配置信息的 URL。它包含服務提供商需要用來使用 Logto 驗證用戶的信息,例如授權端點、令牌端點和用戶信息端點。

    discovery endpoint endpoint details

檢查點

隨著所有 OIDC 配置詳細信息到位,你現在可以將 Logto 用作應用程式的第三方 IdP。在你的第三方應用程式上測試集成,以確保用戶可以使用他們的 Logto 帳戶登錄。

管理應用程式權限

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

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

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

請查看我們的文章 用戶同意屏幕 以獲取關於用戶同意屏幕的更多詳細信息。

向第三方應用程式添加權限

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

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,你現在可以順利地驗證用戶並管理他們對任何第三方應用程式的訪問。