繁體中文(台灣)
  • 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 入口網站 並以管理員身份登錄。

  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 斷言的位置。IdP 使用此 URL 向 Logto 發送 SAML 斷言。它作為回調 URL,Logto 期望在該回調 URL 接收和消費包含用戶身份資訊的 SAML 響應。

SP Configuration

點擊 Save 保存配置。

向 Logto 提供 SAML IdP 元數據

在 Azure 中創建 SAML SSO 應用程式後,你需要將 SAML IdP 元數據配置提供給 Logto。元數據配置包含 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 整合。