跳至主要內容

設定 Microsoft Entra ID (SAML) 單一登入 (SSO)

只需極少設定,即可透過此連接器整合 Microsoft Entra ID(前稱 Azure AD)以實現企業級單一登入 (SSO)。

提示:

如需更多關於單一登入 (SSO) 的資訊以及如何在 Logto 中配置 SSO,請參閱 企業級單一登入 (Enterprise SSO) (SAML & OIDC) 文件以開始使用。

步驟 1:建立 Azure AD SSO 應用程式

開始 Azure AD 單一登入 (SSO) 整合,首先在 Azure AD 端創建一個 SSO 應用程式。

  1. 前往 Azure 入口網站 並以管理員身分登入。
  2. 選擇 Microsoft Entra ID 服務。
  3. 使用側邊選單導航至 企業應用程式 (Enterprise applications)。點擊 新增應用程式 (New application),然後選擇 創建你自己的應用程式 (Create your own application)
Azure AD create application
  1. 輸入應用程式名稱並選擇 整合任何在圖庫中找不到的其他應用程式 (Integrate any other application you don't find in the gallery) (非圖庫, Non-gallery)
  2. 選擇 設定單一登入 (Setup single sign-on) > SAML
Azure AD set up SSO
  1. 按照指示進行,第一步需要使用 Logto 提供的以下資訊填寫基本 SAML 配置。
Azure AD SP config
  • 受眾 URI (Audience URI, SP Entity ID):它作為你的 Logto 服務的全局唯一識別符,作為 SP 在向 IdP 發送驗證請求時的 EntityId。此識別符對於 IdP 與 Logto 之間安全交換 SAML 聲明和其他驗證相關數據至關重要。
  • ACS URL:Assertion Consumer Service (ACS) URL 是以 POST 請求發送 SAML 聲明的位置。此 URL 由 IdP 用於將 SAML 聲明發送至 Logto。它充當回調 URL,Logto 期望在此接收並處理包含使用者身分資訊的 SAML 回應。

點擊 儲存 (Save) 以繼續。

步驟 2:在 Logto 設定 SAML SSO

要使 SAML 單一登入 (SSO) 整合正常運作,你需要將 IdP 中繼資料提供給 Logto。讓我們切換回 Logto,並導航到 Azure AD SSO 連接器的 Connection 標籤。

Logto 提供三種不同方式來配置 IdP 中繼資料。最簡單的方法是提供 Azure AD SSO 應用程式的 metadata URL

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

Azure AD Metadata URL

Logto 將從該 URL 獲取中繼資料並自動配置 SAML 單一登入 (SSO) 整合。

步驟 3:設定使用者屬性對應

Logto 提供靈活的方式將從身分提供者 (IdP) 返回的使用者屬性映射到 Logto 中的使用者屬性。Logto 預設會從 IdP 同步以下使用者屬性:

  • 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 以提升使用者體驗)
Azure AD 預設屬性映射
  1. 在 AzureAD 端將 AzureAD 使用者屬性映射到 Logto 使用者屬性。

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

    點擊 Edit,並根據 Logto 使用者屬性設定更新 Additional claims 欄位:

    • 根據 Logto 使用者屬性設定更新宣告名稱值。
    • 移除命名空間前綴。
    • 點擊 Save 繼續。

    最終應達到以下設定:

Azure AD_Logto 屬性映射

你也可以在 Azure AD 端指定其他使用者屬性。Logto 將在使用者的 sso_identity 欄位下保留從 IdP 返回的原始使用者屬性記錄。

步驟 4:將使用者指派給 Azure AD SSO 應用程式

造訪 Azure AD SSO 應用程式的 Users and groups 區段。點擊 Add user/group 以將使用者指派給 Azure AD SSO 應用程式。只有指派給 Azure AD SSO 應用程式的使用者才能透過 Azure AD SSO 連接器進行驗證。

Azure AD assign users

步驟 5:設定電子郵件網域並啟用 SSO 連接器

在 Logto 的連接器 SSO 體驗 標籤中提供你組織的 email domains。這將啟用 SSO 連接器作為這些使用者的驗證 (Authentication) 方法。

擁有指定網域電子郵件地址的使用者將被重定向,使用 SAML SSO 連接器作為他們唯一的驗證 (Authentication) 方法。

請查閱 Azure AD 的官方文件,以獲取有關 Azure AD SSO 整合的更多詳細資訊。

選用:強制簽署驗證請求 (Authentication request)

Microsoft Entra ID 可以要求簽署的 SAML 驗證請求 (SAML authentication requests)。若要在 Logto 中使用此功能,請依照以下順序操作,以避免登入流程中斷:

  1. 在 Logto 連接器 (Connector) 的 Connection 分頁下,於 Request signing certificate 點擊 Generate new key,並下載作用中金鑰的憑證。
  2. 在 Entra ID 應用程式的單一登入 (Single Sign-On) 設定中,於 Verification certificates 上傳該憑證。詳見 強制簽署 SAML 驗證請求 (Enforce signed SAML authentication requests)
  3. 回到 Logto,在連接器 (Connector) 上啟用 Sign authentication request,並儲存設定。
  4. 在 Entra ID 勾選 Require verification certificates,然後測試登入流程。

Entra ID 僅驗證以 RSA-SHA256(Logto 預設演算法)簽署的請求,並強制要求 SP 發起 (SP-initiated) 的登入請求。完整設定與憑證輪替流程,請參閱 簽署 SAML 驗證請求 (Sign the SAML authentication request)