重置密码
当你配置了有效的 Email 连接器 或 SMS 连接器 时, 密码恢复功能将自动启用。用户可以通过提供其注册的电子邮件地址或电话号码来重置密码。
密码重置流程
一旦启用重置密码功能,登录表单下将显示一个“忘记密码”链接按钮。用户可以点击“忘记密码”链接来启动密码重置过程。
备注:
没有看到“忘记密码”链接?请确保你已配置有效的 Email 或 SMS 连接器。
- 访问登录页面:用户访问登录页面。
- 点击忘记密码链接:用户点击“忘记密码”链接。
- 输入电子邮件/电话:点击“忘记密码”链接后,用户将被重定向到一个新页面,在那里他们可以输入注册的电子邮件地址或电话号码。
- 发送验证码:Logto 将向用户提供的电子邮件地址或电话号码发送验证码,并重定向到验证码验证页面。
- 输入验证码:用户输入收到的电子邮件或电话中的验证码。Logto 将验证该验证码以及与电子邮件地址或电话号码关联的用户身份。
- 输入新密码:一旦验证码成功验证,用户将被提示输入新密码。
- 成功重置密码:如果提供的密码符合密码策略要求,密码将成功更新。
- 重定向到登录页面:用户将被重定向到登录页面,以使用新密码登录。
更新已认证用户的密码
对于已认证的用户,他们可以通过访问账户设置页面来更新密码。查看 账户设置 以了解有关实现用户账户设置页面的更多信息。
设置密码策略
对于新用户或更新密码的用户,你可以设置密码策略以强制执行密码强度要求。访问 控制台 > 登录体验 > 密码策略 以配置密码策略设置。
- 最小密码长度:设置密码所需的最小字符数。(NIST 建议使用至少 8 个字符)
- 最小所需字符类型:设置密码所需的最小字符类型数。可用的字符类型有:
- 大写字母:
(A-Z)
- 小写字母:
(a-z)
- 数字:
(0-9)
- 特殊字符:
(!"#$%&'()\*+,-./:;<>=?@[]^\_`|{}~ )
- 大写字母:
- 泄露历史检查:启用此设置以拒绝在数据泄露中已暴露的密码。(由 Have I Been Pwned 提供支持)
- 重复检查:启用此设置以拒绝包含重复字符的密码。(例如,“11111111”或“password123”)
- 用户信息检查:启用此设置以拒绝包含用户信息(如用户名、电子邮件地址或电话号码)的密码。
- 自定义词汇:提供你想在密码中拒绝的自定义词汇列表(不区分大小写)。
常见问题
如何在成功重置密码后注销用户?
订阅 PostResetPassword
Webhook 事件 以在用户成功重置密码时接收通知。然后你可以触发 注销 操作以使用户的当前会话失效,并将其重定向到登录页面。
如何在我的自定义 UI 上实现密码重置流程?
你可以使用 Logto 的 Management API 和 Account API 实现自己的密码重置流程。查看 账户设置 以获取更多详细信息。
如何将密码重置链接发送到用户的电子邮件?
你可以创建一个自托管的密码重置端点,并利用 Logto SDK 发起一个登录请求,将 first_screen
设置为 reset-password
。这将无缝地将用户重定向到密码重置页面。