使用 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 portal 並以管理員身份登錄。
-
選擇
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 斷言的位置。該 URL 被 IdP 用來向 Logto 發送 SAML 斷言。它作為回調 URL,Logto 預期從中接收和使用包含用戶身份信息的 SAML 響應。
點擊 Save
保存配置。
向 Logto 提供 SAML IdP 元數據
一旦在 Azure 中創建了 SAML SSO 應用程序,你將向 Logto 提供 SAML IdP 元數據配置。元數據配置包含 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 集成。