繁體中文(香港)
  • azure
  • sso
  • authentication
  • SAML

使用 Logto 進行 Azure SAML SSO 集成

了解如何在幾分鐘內使用 Logto 集成 Azure SAML SSO。

Simeng
Simeng
Developer

Microsoft Entra ID 也稱為 Azure Active Directory (Azure AD),是一個全面的身份和訪問管理解決方案,提供一套強大的功能來管理用戶和群組。許多組織使用 Azure AD 來管理他們的用戶和群組,這也是一個受歡迎的單一登錄 (SSO) 集成選擇。Azure AD 支持 OpenID Connect (OIDC) 和安全斷言標記語言 (SAML) 協議進行 SSO 集成。在本教程中,我們將向你展示如何首先將你的 Logto 應用程序與 Azure SAML SSO 集成。

先決條件

在我們開始之前,請確保你有一個活躍的 Azure 帳戶。如果你沒有,你可以在這裡註冊一個免費的 Azure 帳戶。

一個 Logto 雲帳戶。如果你沒有,非常歡迎你註冊一個 Logto 帳戶。Logto 對個人使用是免費的。所有功能對於開發租戶都是可用的,包括 SSO 功能。

還需要一個集成良好的 Logto 應用程序。如果你沒有,請按照集成指南創建一個 Logto 應用程序。

集成

在 Logto 中創建新的 Azure SAML SSO 連接器

  1. 訪問你的 Logto Cloud Console 並導航到 Enterprise SSO 頁面。

Logto Cloud Console

  1. 點擊 Add Enterprise SSO 按鈕並選擇 Microsoft Entra Id (SAML) 作為 SSO 提供者。
azure connector

讓我們在另一個選項卡中打開 Azure 入口,並按照步驟在 Azure 端創建一個企業應用程序。

創建 Azure 企業應用程序

  1. 轉到 Azure portal 並以管理員身份登錄。

  2. 選擇 Microsoft Entra ID 服務。

  3. 使用側邊菜單導航到 Enterprise applications。點擊 New application,然後在頂部菜單中選擇 Create your own application

  4. 輸入應用程序名稱並選擇 Integrate any other application you don't find in the gallery (Non-gallery)

Create Application
  1. 一旦創建應用程序,選擇 Setup single sign-on > SAML 以配置 SAML SSO 設置。
Setup SSO
  1. 打開第一個 Basic SAML Configuration 部分並從 Logto 複製粘貼以下信息。
Entity ID
  • Audience URI(SP Entity ID): 它代表你的 Logto 服務的全局唯一標識符,在向 IdP 發起身份驗證請求時充當 SP 的 EntityId。此標識符對於 IdP 和 Logto 之間安全交換 SAML 斷言和其他身份驗證相關數據至關重要。

  • ACS URL: 斷言消費服務 (ACS) URL 是通過 POST 請求發送 SAML 斷言的位置。該 URL 被 IdP 用來向 Logto 發送 SAML 斷言。它作為回調 URL,Logto 預期從中接收和使用包含用戶身份信息的 SAML 響應。

SP Configuration

點擊 Save 保存配置。

向 Logto 提供 SAML IdP 元數據

一旦在 Azure 中創建了 SAML SSO 應用程序,你將向 Logto 提供 SAML IdP 元數據配置。元數據配置包含 SAML IdP 公共證書和 SAML SSO 端點。

  1. Logto 提供三種不同的方法來配置 SAML 元數據。最簡單的方法是通過元數據 URL。你可以在 Azure 入口中找到元數據 URL。

    從你的 Azure AD SSO 應用程序的 SAML Certificates section 中複製 App Federation Metadata Url,並將其粘貼到 Logto 的 Metadata URL 欄位中。

    Metadata URL
  2. 點擊保存按鈕,Logto 將自動從 URL 獲取元數據並配置 SAML SSO 集成。

    Metadata Configuration

配置用戶屬性映射

Logto 提供了一種靈活的方法來將 IdP 返回的用戶屬性映射到 Logto 中的用戶屬性。以下來自 IdP 的用戶屬性將默認同步到 Logto:

  • id: 用戶的唯一標識符。Logto 將從 SAML 響應中讀取 nameID 聲明作為用戶 SSO 身份 id。
  • email: 用戶的電子郵件地址。Logto 默認會從 SAML 響應中讀取 email 聲明作為用戶主要電子郵件。
  • name: 用戶的姓名。

你可以在 Azure AD 端或 Logto 端管理用戶屬性映射邏輯。

  1. 在 Logto 端將 AzureAD 用戶屬性映射到 Logto 用戶屬性。

    訪問你的 Azure AD SSO 應用程序的 Attributes & Claims 部分。

    複製以下屬性名稱(帶命名空間前綴)並粘貼到 Logto 相應的欄中。

    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name(建議:將此屬性值映射更新為 user.displayname 以獲得更好的用戶體驗)

    Default Attributes Mapping
  2. 在 AzureAD 端將 AzureAD 用戶屬性映射到 Logto 用戶屬性。

    訪問你的 Azure AD SSO 應用程序的 Attributes & Claims 部分。

    點擊 Edit,然後根據 Logto 用戶屬性設置更新 Additional claims 欄位:

    • 根據 Logto 用戶屬性設置更新聲明名稱值。
    • 移除命名空間前綴。
    • 點擊 Save 繼續。

    最終應為以下設置:

    Logto Attributes

你也可以在 Azure AD 端指定其他用戶屬性。Logto 將在用戶的 sso_identity 欄位下保留來自 IdP 的原始用戶屬性記錄。

將用戶指派到 Azure SAML SSO 應用程序

你需要將用戶指派到 Azure SAML SSO 應用程序以啟用他們的 SSO 體驗。

訪問你的 Azure AD SSO 應用程序的 Users and groups 部分。點擊 Add user/group 將用戶指派到 Azure AD SSO 應用程序。只有指派給你的 Azure AD SSO 應用程序的用戶才能通過 Azure AD SSO 連接器進行身份驗證。

Assign Users

啟用 Logto 中的 Azure SAML SSO 連接器

設定電子郵件域和啟用 Logto 中的 Azure SAML SSO 連接器

在 Logto 的 SAML SSO 連接器 experience 標籤中提供你組織的電子郵件 domains。這將使 SSO 連接器作為這些用戶的身份驗證方法。

Email Domain

電子郵件位於指定域中的用戶將只限於使用 SAML SSO 連接器作為他們唯一的身份驗證方法。

在 Logto 的登錄體驗中啟用 Azure SAML SSO 連接器

轉到 Sign-in Experience 標籤並啟用企業 SSO。

Enable SSO

現在,你可以通過使用 Sign-in Experience preview 部分右上角的即時預覽按鈕來測試 SSO 集成。