配置多因素认证 (MFA)
在 Logto 中配置 MFA 设置
Logto 提供灵活的多因素认证 (MFA) 配置选项,以满足不同的安全需求。你可以为所有用户在全局层面配置 MFA,或针对多租户应用按组织 (Organization) 启用 MFA。
全局 MFA 配置
按照以下步骤在用户的 Logto 登录流程中启用 MFA:
- 前往:控制台 > 多因素认证 (MFA)。
- 为你的用户启用支持的验证因子。
- 主因子:
- Passkeys (WebAuthn):适用于支持设备生物识别或安全密钥等的 Web 产品的高安全性选项,确保强大保护。
- 身份验证器 App OTP:最常见且被广泛接受的方法。使用如 Google Authenticator 或 Authy 等身份验证器应用生成的基于时间的一次性密码 (TOTP)。
- 短信验证:通过短信向用户注册手机号发送一次性验证码的便捷方式,适合喜欢基于手机认证 (Authentication) 且无需额外应用的用户。
- 邮箱验证:向用户注册邮箱发送一次性验证码的广泛可用方式,适用于所有平台和设备的用户。
- 备份因子:
- 备份码:当用户无法验证上述任何主因子时,作为备选方案。启用此选项可降低用户成功访问的阻力。
- 主因子:
- 从下拉菜单中选择 要求 MFA 策略。此策略控制用户在登录时必须完成 MFA 的时机:
- 可选 MFA:让用户自行决定是否为其账户安全启用 MFA。用户可在登录时跳过 MFA 设置,稍后通过自助账户设置页面进行配置。了解更多 关于实现用户账户设置页面的信息。
- 自适应 MFA:仅在登录行为异常时应用 MFA,低风险登录流程更顺畅,可疑登录则需额外验证。此模式依赖你已启用的 MFA 设置(至少需启用一个 MFA 因子),适用于终端用户登录流程,不依赖设备指纹或其他敏感个人数据。
- 强制 MFA:要求所有用户每次登录都完成 MFA。未设置 MFA 的用户必须先完成设置才能继续。
- 当选择 可选 MFA 或 自适应 MFA 时,可配置 MFA 设置提示策略:
- 不提示用户设置 MFA:用户登录时不会被提示设置 MFA。
- 在注册时提示用户设置 MFA:新用户注册时会被提示设置 MFA,现有用户将在下次登录时看到提示。用户可跳过此步骤,且不会再次出现。
- 注册后首次登录时提示用户设置 MFA:新用户注册后第二次登录时会被提示设置 MFA,现有用户将在下次登录时看到提示。用户可跳过此步骤,且不会再次出现。
当 MFA 为可选且 Logto 决定提示用户时,流程会首先显示一个名为 开启两步验证 的启用 MFA 确认页面。在此页面,用户可选择 开启两步验证 继续绑定 MFA,或跳过提示并完成当前登录 / 注册流程而不启用 MFA。
如果你需要在用户跳过 MFA 注册后再次提示,请重置其跳过状态,这样下次登录时会再次出现设置界面。管理员可使用 Management API(PATCH /api/users/{userId}/logto-configs),开发者在自助流程中可调用 Account API(PATCH /api/my-account/logto-configs)。Management API 参考 · Account API 参考
组织 (Organization) 级 MFA 配置
对于支持 组织 (Organizations) 的多租户架构产品,大多数情况下你无需对所有用户强制要求 MFA。你可以按组织 (Organization) 启用 MFA,根据每个客户的需求定制要求。开始操作请参考 为组织成员要求 MFA。
在 多因素认证 (MFA) 部分,将 组织启用 MFA 后用户的 MFA 设置提示 设置为 下次登录时提示用户设置 MFA(不可跳过)。任何要求 MFA 的组织成员将在下次登录时被提示完成 MFA 设置,且无法跳过。
MFA 用户流程
MFA 设置流程
启用 MFA 后,用户在登录和注册时可能会被提示设置 MFA。仅当 要求 MFA 策略选择为 可选 MFA 时,用户才可跳过此设置流程。
- 访问登录或注册页面:用户进入登录或注册页面。
- 完成登录或注册:用户在登录或注册流程中完成身份验证过程。
- 如果 MFA 为可选且已启用提示策略,Logto 可能会在任何 MFA 因子绑定开始前先显示
开启两步验证页面。 - 用户可在 MFA 可选时跳过此页面,或点击
开启两步验证继续。
- 如果 MFA 为可选且已启用提示策略,Logto 可能会在任何 MFA 因子绑定开始前先显示
- 设置 MFA 主因子:用户被提示设置其主 MFA 因子(如 passkey、身份验证器 App OTP、短信码或邮箱码)。
- 若启用了多个主因子,用户可选择自己偏好的方式。
- 若主因子与注册标识符相同(如短信或邮箱),则会自动完成验证,用户可跳过验证步骤,直接进入下一步(如“添加另一个两步验证”或“保存你的备份因子”)。
- 若 要求 MFA 策略选择为 可选 MFA,用户可通过点击“跳过”按钮跳过此步骤。
- 设置 MFA 备份因子:若启用了 备份码,用户在成功配置主认证 (Authentication) 因子后会被提示保存备份码。系统会自动生成备份码并展示给用户,用户可下载并安全保存。用户需手动确认备份码以完成 MFA 设置流程。
MFA 验证流程
已设置 MFA 的用户在登录时会被提示使用其配置的 MFA 因子验证身份。验证因子取决于 Logto 中的 MFA 配置和用户设置。
如果用户使用 passkey 登录,Logto 会跳过单独的 MFA 验证步骤。因为用于登录的 passkey 本身就是 WebAuthn MFA 因子。
- 若用户仅设置了一个因子,将直接验证该因子。
- 若用户为两步验证设置了多个因子,系统将根据以下优先级规则展示验证选项:
- Passkey 优先:若用户已配置 passkey,则默认以此作为验证方式。
- 上次使用优先:若无 passkey,系统优先展示用户上次成功使用的验证方式。
- 选择列表:若以上优先级均不适用,两步验证页面会展示所有可用的绑定验证方式供用户选择。
- 用户可随时点击“尝试其他验证方式”切换不同验证选项。
- 若所有启用的主因子用户均不可用,且已启用备份码,用户可使用一次性备份码验证身份。
MFA 管理
除了登录 / 注册时的初始设置外,用户还可通过自助账户中心管理其 MFA 设置。这为用户根据自身需求绑定或解绑 MFA 因子提供了灵活性。
构建账户中心
你可以使用 Logto 的 Account API 构建完整的账户中心,允许用户:
- 绑定新的 MFA 因子:添加额外的身份验证器 App、passkey 或重新生成备份码
- 解绑已有的 MFA 因子:移除不再使用的 MFA 方式
- 查看当前 MFA 状态:查看当前已配置的 MFA 因子
登录后 MFA 设置提示
对于注册时不强制要求 MFA 的应用,你可以实现智能提示以鼓励用户设置 MFA:
- 条件提示:根据用户行为或账户价值展示 MFA 设置建议
- 安全仪表盘:展示安全分数,启用 MFA 后分数提升
- 渐进式引导:将 MFA 设置作为渐进式安全提升流程的一部分
了解更多关于如何用 Account API 实现这些模式的信息。
在控制台管理用户 MFA
在 控制台 > 用户管理 中,管理员可高效管理用户 MFA 设置:
- 查看用户 MFA 状态:检查每个用户已启用哪些 MFA 因子。
- 移除用户 MFA:删除用户的所有 MFA 因子,用户需重新设置 MFA。