简体中文
  • 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 云控制台并导航到 企业 SSO 页面。

Logto 云控制台

  1. 单击 添加企业 SSO 按钮并选择 Microsoft Enrtra Id (SAML) 作为 SSO 提供商。
azure connector

让我们在另一个标签页中打开 Azure 门户,并按照步骤在 Azure 端创建一个企业应用程序。

创建 Azure 企业应用程序

  1. 转到 Azure 门户 并以管理员身份登录。

  2. 选择 Microsoft Entra ID 服务。

  3. 使用侧边菜单导航到 企业应用。单击 新应用,然后在顶部菜单中选择 创建你自己的应用

  4. 输入应用程序名称并选择 集成任何你在图库中找不到的应用程序 (非图库)

Create Application
  1. 应用程序创建完成后,选择 设置单点登录 > SAML 以配置 SAML SSO 设置。
Setup SSO
  1. 打开第一个 基本 SAML 配置 部分,并从 Logto 复制粘贴以下信息。
Entity ID
  • Audience URI (SP Entity ID): 它作为 Logto 服务的全局唯一标识符,作为 SP 在向 IdP 进行身份验证请求时的 EntityId。此标识符对于 IdP 和 Logto 之间的 SAML 断言和其他身份验证相关数据的安全交换至关重要。

  • ACS URL: 断言消费者服务 (ACS) URL 是使用 POST 请求发送 SAML 断言的位置。IdP 使用此 URL 将 SAML 断言发送到 Logto。它充当回调 URL,Logto 期望接收和使用包含用户身份信息的 SAML 响应。

SP Configuration

单击 保存 以保存配置。

向 Logto 提供 SAML IdP 元数据

一旦在 Azure 中创建了 SAML SSO 应用程序,你需要向 Logto 提供 SAML IdP 元数据配置。元数据配置包含 SAML IdP 的公共证书和 SAML SSO 端点。

  1. Logto 提供三种不同的方法来配置 SAML 元数据。最简单的方法是通过元数据 URL。你可以在 Azure 门户中找到元数据 URL。

    从你的 Azure AD SSO 应用程序的 SAML 证书部分 中复制 应用程序联合元数据 URL,并粘贴到 Logto 的 元数据 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 应用程序的 属性和声明 部分。

    复制以下属性名称(带命名空间前缀)并粘贴到 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 应用程序的 属性和声明 部分。

    单击 编辑,并根据 Logto 用户属性设置更新 附加声明 字段:

    • 根据 Logto 用户属性设置更新声明名称值。
    • 删除命名空间前缀。
    • 单击 保存 继续。

    应该最终得到以下设置:

    Logto Attributes

你也可以在 Azure AD 端指定额外的用户属性。Logto 将在用户的 sso_identity 字段中保留 IdP 返回的原始用户属性记录。

将用户分配到 Azure SAML SSO 应用程序

你需要将用户分配到 Azure SAML SSO 应用程序以启用他们的 SSO 体验。

访问你的 Azure AD SSO 应用程序的 用户和组 部分。单击 添加用户/组 将用户分配到 Azure AD SSO 应用程序。只有分配到你的 Azure AD SSO 应用程序的用户才能通过 Azure AD SSO 连接器进行身份验证。

Assign Users

在 Logto 中启用 Azure SAML SSO 连接器

在 Logto 中设置电子邮件域并启用 Azure SAML SSO 连接器

在 Logto 的 SAML SSO 连接器 体验 选项卡中提供你组织的电子邮件 。这将启用 SSO 连接器作为这些用户的身份验证方法。

Email Domain

指定域中的电子邮件地址的用户将被限制只能使用 SAML SSO 连接器作为他们唯一的身份验证方法。

在 Logto 的登录体验中启用 Azure SAML SSO 连接器

转到 登录体验 选项卡并启用企业 SSO。

Enable SSO

现在,你可以使用登录体验预览部分右上角的即时预览按钮测试 SSO 集成。