繁體中文(台灣)
  • saml
  • azure
  • ad
  • sso

如何將 Azure AD (Entra ID) SAML SSO 與你的認證提供者整合

學習如何使用標準 SAML 連接器將 Azure AD SSO 與 Logto 整合。

Simeng
Simeng
Developer

Logto 提供了一個現成可用的 SAML 連接器,以整合 SSO 身份提供者。每個提供者都有其特定的配置信息。本指南將引導你完成將 Azure AD 與 Logto 整合的步驟。

在 Logto 中創建新的 SAML 社交連接器

  1. 訪問你的 Logto Cloud Console 並導航到連接器部分。

  2. 切換到 Social connectors 標籤,並點擊右上角的 Add Social Connector 按鈕。

    Logto Cloud Console

  3. 選擇 SAML 連接器。

    SAML Connector

    你將看到 SAML 連接器創建表單:

    Connector Creation Form

  4. 填寫連接器的一般信息

    Connector General Information

    欄位名稱描述
    支持社交登入按鈕的名稱將顯示在登入頁面的社交登入按鈕名稱。
    支持社交登入按鈕的 Logo URL將顯示在登入頁面的社交登入按鈕的 Logo URL。
    身份提供者名稱身份提供者的名稱。這可能有助於你識別連接器的目標提供者。
    同步個人資料信息是只在初次註冊後還是在每次登入會話後從身份提供者同步用戶個人資料信息。
  5. 設定 Entity Id 和 Assertion Consumer Service URL

    Entity Id and Assertion Consumer Service URL

    "Entity ID" 和 "ACS URL" 是在身份和服務提供者的 SAML 交換過程中使用的重要組件。

    SP Entity ID: Entity ID 是在基於 SAML 的系統中代表 SAML 實體的唯一標識符。它用於區分 SAML 交換中的不同參與者。SP Entity ID 有助於 IdP 識別請求受眾並建立信任。

    ACS URL(Assertion Consumer Service URL): ACS URL 是服務提供者(Logto)提供的特定端點,身份提供者(IdP)在驗證成功後將 SAML 斷言發送至此處。一旦用戶被 IdP 認證,IdP 會生成一個包含用戶屬性並進行數字簽名的 SAML 斷言。然後,IdP 將該斷言發送至 SP 的 ACS URL。SP 驗證斷言,提取用戶屬性並讓用戶登入。

    欄位名稱描述範例
    SP Entity ID (Audience)AzureAD 用於識別 Logto 身份的 SP Entity。建議使用你的 Logto 租戶端點作為 EntityID。https://<tenant-id>.logto.app
    IdP single sign-on URLIdP SignIn 端點。Azure 中是可選的。此欄位用於讓 SP 識別 IdP 發起的登入會話。目前 Logto 不支持 IdP 初始登錄會話。請留空此欄位。
    X.509 Certificate用於簽署 SAML 斷言的 IdP 證書。(稍後我們將從 AzureAD 獲取此證書)
    IdP Metadata in XML formatIdP 元數據 XML 文件內容。(稍後我們將從 AzureAD 獲取此文件)
    Assertion Consumer Service URLSP 的 ACS URL。SP(Logto)接收 SAML 斷言請求的端點。請用你自己的 tenant-id 和 connector-id 替換。https://<tenant-id>.logto.app/api/authn/saml/<connector-id>

在 Azure 入口網站中創建 SAML SSO 應用

  1. 登入 Azure Active Directory 儀表板。選擇 “Enterprise Applications”。

    “Enterprise application

  2. 選擇 “New Application” → “Create your own application”。

    Create your own application

  3. 初始化一個 SAML 應用。

    Init a SAML application

  4. 使用你在 Logto 中設置的 EntityIdACS URL 完成配置。

    SAML application configuration

  5. 配置用戶屬性和聲明

    你可以通過點擊 "Edit" 按鈕,在 "User Attributes & Claims" 部分中配置用戶屬性。

    User attributes and claims

    Logto 需要在 SAML 斷言中發送以下基本用戶屬性:

    聲明名稱屬性名稱
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressuser.mail
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameuser.name
  6. 為 SAML 應用分配群組和用戶 為了讓用戶或用戶群體可以被認證,我們需要將它們分配給 AzureAD SAML 應用。從導航菜單中的 "Manage" 部分選擇 “Users and groups”。然後選擇 “Add user/group”。

    Assign users and groups

  7. 通過下載證書和元數據文件獲取 AzureAD IdP 詳細信息。 通過點擊 "download" 按鈕下載 Federation Metadata XML 文件和 Certificate (Base64) 文件。你將需要這些文件來完成 Logto 中的 SAML 連接器創建。

    Download IdP metadata and certificate

回到 Logto 完成 SAML 連接創建

切換回 Logto Cloud Console 的 SAML 連接器創建表單並繼續填寫 IdP 詳細信息。將 IdP 元數據 XML 文件內容復製粘貼到 IdP 元數據欄位。將 IdP 證書粘貼到 IdP 證書欄位。

IdP details

設定用戶個人資料對應

基於 AzureAD 用戶聲明設置,你可以在 Logto 設定鍵值對應配置:

Logto 可用的用戶欄位有:

點擊 “Save and Done”。

啟用 SAML 連接器

一旦你完成了 SAML 連接器的創建,你可以通過導航到 "Sign-in experience" 部分並將連接器添加為 "Social sign-in" 方法來啟用該連接器:

Enable the SAML connector

通過我們的預覽演示應用驗證你的 AzureAD SSO 登入:

AzureAD SSO sign-in

恭喜你!你已成功將 AzureAD SSO 與 Logto 整合。現在你可以使用 AzureAD 登入你的 Logto 帳戶。