配置多因素认证 (MFA)
在 Logto 中配置 MFA 设置
Logto 提供灵活的多因素认证 (MFA) 配置选项,以满足不同的安全需求。你可以为所有用户在全局层面配置 MFA,或针对多租户应用按组织 (Organization) 启用。
全局 MFA 配置
按照以下步骤在用户的 Logto 登录流程中启用 MFA:
- 前往:控制台 > 多因素认证 (MFA)。
- 为你的用户启用支持的验证因子。
- 主因子:
- Passkeys (WebAuthn):一种高安全性的选项,适用于支持设备生物识别或安全密钥等的 Web 产品,确保强大的保护。
- 认证器 App OTP:最常见且被广泛接受的方法。使用如 Google Authenticator 或 Authy 等认证器应用生成的基于时间的一次性密码 (TOTP)。
- 短信验证:一种便捷的方法,通过短信向用户注册的手机号发送一次性验证码,适合喜欢基于手机认证 (Authentication) 且无需额外应用的用户。
- 邮箱验证:一种广泛可用的方法,将一次性验证码发送到用户注册的邮箱,适用于所有平台和设备的用户。
- 备份因子:
- 备份码:当用户无法验证上述任何主因子时,作为备选方案。启用此选项可降低用户成功访问的阻力。
- 主因子:
- 从下拉菜单中选择 要求 MFA 策略。此策略控制用户在登录时必须完成 MFA 的时机:
- 可选 MFA:让用户自行决定是否为其账户安全启用 MFA。用户可在登录时跳过 MFA 设置,稍后通过自助账户设置页面进行配置。了解更多 关于实现用户账户设置页面的信息。
- 自适应 MFA:仅在登录行为异常时应用 MFA,使低风险登录流程更顺畅,而可疑登录则需额外验证。为做出判断,Logto 会评估高级上下文信号,如用户的不活跃程度、当前登录环境是否与近期旅行相关的登录模式大致一致、网络连接状态以及其他会话或环境指标。此模式依赖于你已启用的 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。在 自适应 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 或 自适应 MFA 且启用了提示策略,Logto 可能会在任何 MFA 因子绑定开始前先显示
开启两步验证页面。 - 在 可选 MFA 下,用户可跳过此页面或点击
开启两步验证继续。在 自适应 MFA 下,一旦被提示,用户必须继续绑定 MFA。
- 若选择了 可选 MFA 或 自适应 MFA 且启用了提示策略,Logto 可能会在任何 MFA 因子绑定开始前先显示
- 设置 MFA 主因子:用户被提示设置主 MFA 因子(如 passkey、认证器 app OTP、短信码或邮箱码)。
- 若启用了多个主因子,用户可选择自己喜欢的方式。
- 若主因子与注册标识符相同(如短信或邮箱),则会自动验证,用户可跳过验证步骤,直接进入下一步(如“添加另一个两步验证”或“保存你的备份因子”)。
- 若 要求 MFA 策略选择为 可选 MFA,用户可通过点击“跳过”按钮跳过此步骤。
- 设置 MFA 备份因子:若启用了 备份码,用户在成功配置主认证因子后会被提示保存备份码。系统会自动生成备份码并展示给用户,用户可下载并安全保存。用户必须手动确认备份码,才能完成 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。