复现步骤:
-
启用站点设置
hide email address taken(通常处于禁用状态),该设置描述为:“在注册和忘记密码表单中,不告知用户是否存在使用该邮箱地址的账户。” -
从新的浏览器会话中,尝试使用邮箱
:email:登录,并提供一个无效的用户名,例如 codinghorror。
预期行为
应显示以下字符串之一的错误消息文本,且不泄露账户是否存在:
js.email_login.complete_email:
如果存在与 codinghorror@example.com 匹配的账户,您稍后将收到一封包含登录链接的电子邮件。
js.email_login.complete_username:
如果存在与 codinghorror 匹配的账户,您稍后将收到一封包含登录链接的电子邮件。
实际行为
错误消息文本错误地表明存在匹配项,即使实际上并无匹配。
js.email_login.complete_email_found:
我们找到了与 codinghorror@example.com 匹配的账户,您稍后将收到一封包含登录链接的电子邮件。
js.email_login.complete_username_found:
我们找到了与用户名 codinghorror 匹配的账户,您稍后将收到一封包含登录链接的电子邮件。
说明
虽然“重置密码”流程中该逻辑工作正常,但似乎“通过邮箱登录”的工作流程也应遵循相同的逻辑。