跳到主要内容

配置多因素认证 (MFA)

在 Logto 中配置 MFA 设置

Logto 提供灵活的多因素认证 (MFA) 配置选项,以满足不同的安全需求。你可以为所有用户在全局层面配置 MFA,或针对多租户应用按组织 (Organization) 启用 MFA。

全局 MFA 配置

按照以下步骤在用户的 Logto 登录流程中启用 MFA:

  1. 前往:控制台 > 多因素认证 (MFA)
  2. 为你的用户启用支持的验证因子。
    1. 主验证因子:
      • 通行密钥 (WebAuthn):适用于支持设备生物识别或安全密钥等的 Web 产品的高安全性选项,确保强大的保护。
      • 身份验证器应用 OTP:最常见且被广泛接受的方法。使用如 Google Authenticator 或 Authy 等身份验证器应用生成的基于时间的一次性密码 (TOTP)。
      • 短信验证:通过短信向用户注册手机号发送一次性验证码的便捷方式,适合偏好基于手机认证 (Authentication) 且无需额外应用的用户。
      • 邮箱验证:向用户注册邮箱发送一次性验证码的广泛可用方式,适用于所有平台和设备的用户。
    2. 备份因子:
      • 备份码:当用户无法验证上述主因子时,作为备选方案。启用此选项可降低用户成功访问的阻力。
  3. 选择是否启用 强制 MFA
    • 启用:用户将在登录过程中被要求设置 MFA,且无法跳过。如果用户未能设置 MFA 或删除了 MFA 设置,他们将无法访问账户,直到重新设置 MFA。
    • 禁用:用户可以在注册流程中跳过 MFA 设置。之后可通过自助账户设置页面设置 MFA。了解更多 关于实现用户账户设置页面。并继续选择 MFA 设置提示的策略:
      • 不要求用户设置 MFA:用户在登录时不会被提示设置 MFA。
      • 在注册时提示用户设置 MFA:新用户在注册时会被提示设置 MFA,现有用户将在下次登录时看到提示。用户可以跳过此步骤,且不会再次出现。
      • 注册后首次登录时提示用户设置 MFA:新用户在注册后第二次登录时会被提示设置 MFA,现有用户将在下次登录时看到提示。用户可以跳过此步骤,且不会再次出现。
MFA 设置

组织 (Organization) 级 MFA 配置

对于支持 组织 (Organizations) 的多租户架构产品,大多数情况下你无需对所有用户强制要求 MFA。你可以按组织 (Organization) 启用 MFA,根据每个客户的需求定制要求。开始使用请参考 为组织成员强制 MFA

MFA 用户流程

MFA 设置流程

启用 MFA 后,用户将在登录和注册过程中被提示设置 MFA。仅当“强制 MFA”策略被禁用时,用户才可以选择跳过此设置流程。

  1. 访问登录或注册页面:用户进入登录或注册页面。
  2. 完成登录或注册:用户在登录或注册流程中完成身份验证过程。
  3. 设置主 MFA 因子:用户被提示设置主 MFA 因子(通行密钥、身份验证器应用 OTP、短信验证码或邮箱验证码)。
    • 如果启用了多个主因子,用户可选择自己偏好的方式。
    • 如果主因子与注册标识符相同(如短信或邮箱),则会自动预验证,用户可跳过验证步骤,直接进入下一步(如“添加另一个两步验证”或“保存你的备份因子”)。
    • 如果“强制 MFA”策略被禁用,用户也可以通过点击“跳过”按钮跳过此步骤。
  4. 设置 MFA 备份因子:如果启用了备份码,用户在成功配置主认证 (Authentication) 因子后会被提示保存备份码。系统会自动生成备份码并展示给用户,用户可下载并安全保存。用户必须手动确认备份码以完成 MFA 设置流程。
MFA 设置流程

MFA 验证流程

已设置 MFA 的用户在登录时会被提示使用已配置的 MFA 因子进行身份验证。验证因子取决于 Logto 中的 MFA 配置和用户设置。

  • 如果用户只设置了一个因子,将直接验证该因子。
  • 如果用户为两步验证 (2FA) 设置了多个因子,系统会根据以下优先级规则展示验证选项:
    • 通行密钥优先:如果用户配置了通行密钥,将默认作为验证方式。
    • 上次使用优先:如果没有通行密钥,系统优先选择用户上次成功使用的验证方式。
    • 选择列表:如果以上优先级均不适用,两步验证页面会展示所有可用的绑定验证方式供用户选择。
    • 用户可随时点击“尝试其他验证方式”在不同验证选项间切换。
  • 如果所有启用的主因子用户均不可用,且启用了备份码,用户可使用一次性备份码进行身份验证。
MFA 验证流程

MFA 管理

除了在登录 / 注册时的初始设置外,用户还可以通过自助账户中心管理自己的 MFA 设置。这为用户根据自身需求绑定或解绑 MFA 因子提供了灵活性。

构建账户中心

你可以使用 Logto 的 Account API 构建一个完整的账户中心,允许用户:

  • 绑定新的 MFA 因子:添加额外的身份验证器应用、通行密钥或重新生成备份码
  • 解绑已有的 MFA 因子:移除不再使用的 MFA 方式
  • 查看当前 MFA 状态:查看当前已配置的 MFA 因子

登录后 MFA 设置提示

对于注册时不强制要求 MFA 的应用,你可以实现智能提示以鼓励用户设置 MFA:

  • 条件提示:根据用户行为或账户价值展示 MFA 设置建议
  • 安全仪表盘:显示安全分数,启用 MFA 后分数提升
  • 渐进式引导:将 MFA 设置作为渐进式安全增强流程的一部分

了解更多关于如何通过 Account API 实现这些模式。

在控制台管理用户 MFA

控制台 > 用户管理 中,管理员可以高效管理用户的 MFA 设置:

  • 查看用户 MFA 状态:检查每个用户已启用哪些 MFA 因子。
  • 移除用户 MFA:删除用户的所有 MFA 因子,用户需重新设置 MFA。

常见问题

管理员移除用户现有 MFA 因子后会发生什么?

当管理员移除用户所有主 MFA 因子(通行密钥、身份验证器应用 OTP、短信或邮箱)后,用户下次登录时会出现以下场景:

场景 1:无 MFA 因子剩余

  • 如果没有任何 MFA 因子(包括无备份码),且 MFA 策略 要求 MFA,用户将被允许无 MFA 验证直接登录,并会立即被提示重新设置 MFA。

场景 2:仍有备份码

  • 如果仍有备份码可用,用户必须在登录时先通过备份码验证。
  • 备份码验证成功后,用户会被提示设置新的主 MFA 因子。
  • 用户是否可以跳过此设置取决于你配置的 MFA 策略。
  • 这种方式可防止用户在无主因子的情况下被锁定账户。