使用 Logto 整合 Azure SAML SSO
學習如何在幾分鐘內使用 Logto 整合 Azure SAML SSO。
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 連接器
- 訪問你的 Logto Cloud Console 並導航到 Enterprise SSO 頁面。
- 點擊 Add Enterprise SSO 按鈕並選擇 Microsoft Entra Id (SAML) 作為 SSO 提供者。
讓我們在另一個標籤頁中打開 Azure 入口網站,並按照步驟在 Azure 端創建企業應用程式。
創建 Azure 企業應用程式
-
前往 Azure 入口網站 並以管理員身份登錄。
-
選擇
Microsoft Entra ID
服務。 -
使用側邊菜單導航到
Enterprise applications
。點擊New application
,然後在頂部菜單中選擇Create your own application
。 -
輸入應用程式名稱,然後選擇
Integrate any other application you don't find in the gallery (Non-gallery)
。
- 一旦應用程式創建完成,選擇
Setup single sign-on
>SAML
來配置 SAML SSO 設定。
- 打開第一個
Basic SAML Configuration
部分,然後從 Logto 中複製粘貼以下資訊。
-
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 響應。
點擊 Save
保存配置。
向 Logto 提供 SAML IdP 元數據
在 Azure 中創建 SAML SSO 應用程式後,你需要將 SAML IdP 元數據配置提供給 Logto。元數據配置包含 SAML IdP 的公開證書和 SAML SSO 端點。
-
Logto 提供三種不同的方法來配置 SAML 元數據。最簡便的方法是通過元數據 URL。你可以在 Azure 入口網站中找到元數據 URL。
從你的 Azure AD SSO 應用程式的
SAML Certificates section
中複製App Federation Metadata Url
並粘貼到 Logto 的Metadata URL
欄位中。 -
點擊保存按鈕,Logto 將從 URL 獲取元數據並自動配置 SAML SSO 整合。
配置用戶屬性映射
Logto 提供了一種靈活的方式來將 IdP 返回的用戶 屬性映射到 Logto 中的用戶屬性。以下來自 IdP 的用戶屬性將預設同步到 Logto:
- id: 用戶的唯一標識符。Logto 將從 SAML 響應中讀取
nameID
聲明作為用戶 SSO 身份 id。 - email: 用戶的電子郵件地址。Logto 將預設從 SAML 響應中讀取
email
聲明作為用戶主要電子郵件。 - name: 用戶的名稱。
你可以在 Azure AD 端或 Logto 端管理用戶屬性映射邏輯。
-
在 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
以獲得更好的用戶體驗)
-
-
在 AzureAD 端將 AzureAD 用戶屬性映射到 Logto 用戶屬性。
訪問你的 Azure AD SSO 應用程式的
Attributes & Claims
部分。點擊
Edit
,並根據 Logto 用戶屬性設置更新Additional claims
欄位:- 根據 Logto 用戶屬性設置更新聲明名稱值。
- 移除命名空間前綴。
- 點擊
Save
繼續。
最終應該得到以下設置:
你還可以在 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 連接器進行身份驗證。
在 Logto 中啟用 Azure SAML SSO 連接器
設置電子郵件域並在 Logto 中啟用 Azure SAML SSO 連接器
在 Logto 的 SAML SSO 連接器 experience
標籤頁提供你的組織的電子郵件 domains
。這將啟用 SSO 連接器作為這些用戶的身份驗證方法。
擁有指定域中的電子郵件地址的用戶將被限制僅使用 SAML SSO 連接器作為他們唯一的身份驗證方法。
在 Logto 的登錄體驗中啟用 Azure SAML SSO 連接器
轉到 Sign-in Experience
標籤並啟用企業 SSO。
現在,你可以使用 Sign-in Experience preview
部分右上角的現場預覽按鈕來測試 SSO 整合。