跳到主要内容

重置密码

当你配置了有效的 Email 连接器SMS 连接器 时,密码恢复功能将自动启用。用户可以通过提供其注册的电子邮件地址或电话号码来重置密码。

密码重置流程

一旦启用重置密码功能,登录表单下将显示一个“忘记密码”链接按钮。用户可以点击“忘记密码”链接来启动密码重置过程。

备注:

没有看到“忘记密码”链接?请确保你已配置有效的 EmailSMS 连接器。

  1. 访问登录页面:用户访问登录页面。
  2. 点击忘记密码链接:用户点击“忘记密码”链接。
  3. 输入电子邮件/电话:点击“忘记密码”链接后,用户将被重定向到一个新页面,在那里他们可以输入注册的电子邮件地址或电话号码。
  4. 发送验证码:Logto 将向用户提供的电子邮件地址或电话号码发送验证码,并重定向到验证码验证页面。
  5. 输入验证码:用户输入收到的电子邮件或电话中的验证码。Logto 将验证该验证码以及与电子邮件地址或电话号码关联的用户身份。
  6. 输入新密码:一旦验证码成功验证,用户将被提示输入新密码。
  7. 成功重置密码:如果提供的密码符合密码策略要求,密码将成功更新。
  8. 重定向到登录页面:用户将被重定向到登录页面,以使用新密码登录。

重置密码流程

更新已认证用户的密码

对于已认证的用户,他们可以通过访问账户设置页面来更新密码。查看 账户设置 以了解有关实现用户账户设置页面的更多信息。

设置密码策略

对于新用户或更新密码的用户,你可以设置密码策略以强制执行密码强度要求。访问 控制台 > 登录体验 > 密码策略 以配置密码策略设置。

  1. 最小密码长度:设置密码所需的最小字符数。(NIST 建议使用至少 8 个字符
  2. 最小所需字符类型:设置密码所需的最小字符类型数。可用的字符类型有:
    1. 大写字母:(A-Z)
    2. 小写字母:(a-z)
    3. 数字:(0-9)
    4. 特殊字符:(!"#$%&'()\*+,-./:;<>=?@[]^\_`|{}~ )
  3. 泄露历史检查:启用此设置以拒绝在数据泄露中已暴露的密码。(由 Have I Been Pwned 提供支持)
  4. 重复检查:启用此设置以拒绝包含重复字符的密码。(例如,“11111111”或“password123”)
  5. 用户信息检查:启用此设置以拒绝包含用户信息(如用户名、电子邮件地址或电话号码)的密码。
  6. 自定义词汇:提供你想在密码中拒绝的自定义词汇列表(不区分大小写)。

常见问题

如何在成功重置密码后注销用户?

订阅 PostResetPassword Webhook 事件 以在用户成功重置密码时接收通知。然后你可以触发 注销 操作以使用户的当前会话失效,并将其重定向到登录页面。

如何在我的自定义 UI 上实现密码重置流程?

你可以使用 Logto 的 Management APIAccount API 实现自己的密码重置流程。查看 账户设置 以获取更多详细信息。

如何将密码重置链接发送到用户的电子邮件?

你可以创建一个自托管的密码重置端点,并利用 Logto SDK 发起一个登录请求,将 first_screen 设置为 reset-password。这将无缝地将用户重定向到密码重置页面。

相关资源

设计你的密码策略