使用邮箱验证码更便捷地注册账号

这种用户可能会产生疑惑,是点击链接还是查看验证码。

嗯,我不太确定。我觉得像“点击此链接或输入此代码”这样的邮件很常见。如果用户在另一台设备上收到邮件,这确实有帮助,而且仍然提供了一键操作的便捷性。——但应该让网站管理员决定他们的用户能理解哪些选项。

1 个赞

感谢分享您的反馈!

我想补充说明的是,这并不会移除用户名表单。在即将推出的更改的当前版本中,您会看到在通过验证码确认电子邮件地址之后,有一个专门的用户名步骤:

最近,我们修复了一个导致出现“user1”和“user2”这类用户名的错误,因此如果您在新账户中仍然看到这种情况,请告知我们。

1 个赞

这很好。不过我想提一下,在我的情况下,在这个“账户已就绪”之后还有一个管理员审核步骤,在那种情况下,这个提示可能会产生误导。

1 个赞

我印象里是在我当前的稳定版中出现的,但由于我回退到了旧版注册流程,所以暂时无法确认。不过,我稍后会尝试一下您提到的改进措施。

1 个赞

当我尝试使用这个新的 “enable_local_logins_via_code” 功能时,体验有些别扭。具体来说,如果我使用密码管理器(在我的情况下是 Roboform),它通常会同时输入存储的用户名和密码,然后直接进入网站。但现在,Roboform 会显示两个条目:一个用于用户名(因为我用用户名而不是邮箱登录),另一个用于密码。

然而,在这种情况下,它并没有同时填写用户名和密码,而是代码直接跳转到了这个界面:

然后我需要手动输入我的邮箱地址。稳定版会处理得更优雅一些吗?如果在那个提示框中使用 Roboform,它当然会插入用户名,然后我就遇到了这个错误:

一个潜在的解决方案是告诉所有用户将密码管理器中的登录信息从用户名更新为邮箱,但这似乎有些强人所难,而且即使我为了测试将 Roboform 从用户名改为邮箱,它仍然会表现出同样的初始行为:它会跳转到第二个界面,要求我进行第二步操作:

总之,现在的体验就是很别扭。我从未点击过“给我发送一次性登录代码”这个链接,它只是直接跳到了第二个提示框。

别误会,我确实喜欢 6 位数字代码的选项,我的成员们也会喜欢,只是我希望在使用像 Roboform 这样的密码管理器时,体验能比现在更流畅一些。

1 个赞

我觉得这很糟糕。我已经把它关掉了。请确认一下,这不会变成强制要求的吧?

除非用户本身对技术非常了解,否则没人会费心去选一个合理的用户名。

反正也不是每个人都会这么做,但如果“姓名”(name)不能像“用户名”(username)那样在所有地方都显示出来(例如在 /admin/users/list/active 页面上),那这反而是一种退步。

(总的来说,感谢 Discourse。我不想显得不知好歹!)

1 个赞

关于使用该系统登录,有两点需要注意。

其一,如果能允许用户输入用户名或电子邮件地址,可能会更方便,因为其中一项可能比另一项更容易记住。

其二,在我的论坛上,用户名是无法更改的。这很可能是一个我很久以前就设置的选项,但值得指出这一点,因为新系统在某种程度上依赖于更改用户名的功能。

嗨!我今天也发现了这个新功能。我们的论坛有一套审核流程,结果突然有新用户被分配了类似“happybreeze34”这样的随机用户名。这对我们来说是个问题,因为我们更希望用户使用自己的名字,而不是随机别名。

在尝试寻找变通方法时,我发现如果取消勾选“生成随机用户名”选项,系统又会回退到“user1”、“user2”之类的命名模式,这其实也没什么改善。

此外,我觉得整个流程有点让人困惑:用户首先需要通过邮箱收到的验证码才能获得批准,但之后在实际登录时,系统却提示输入密码,而用户从未设置过密码,所以根本不知道该怎么做。你必须再次发送一个验证码(而且这一点并不明显)。登录成功后,用户还得自己想办法去更改用户名。总的来说,这导致了一个相当冗长且令人困惑的新手引导流程,尤其对我们来说更是如此,因为账户在用户到达这一步之前还需要经过版主审核。

所以,就目前的情况来看,这个流程并不完全符合我们的需求 :slight_smile:

3 个赞

在这种情况下,你最好的选择是启用以下设置:

你说得有道理,我们需要审查一下对于需要工作人员批准账户的网站,该流程是如何运作的。我会对此进行调查并回复你。

3 个赞

感谢指出这个问题!

我已经在这里推送了一个修复方案:

请更新后查看一下,并告诉我你是否仍然遇到这个问题?

2 个赞

不,它基本上做的是完全相同的事情。Roboform 会先填入电子邮件地址,暂停一两秒,然后跳转到六位数字验证码输入框,此时电子邮件地址仍然可见。所以看起来是 Roboform 或某个东西触发了“给我发送一次性登录代码”,尽管我从未点击过它,而不是直接输入密码并进入 discourse。

感谢您的反馈,这对我们很有帮助,因为我们正在考虑随机用户名生成功能默认应该是“选择性加入”(opt-in)还是“选择性退出”(opt-out)。请注意,该功能绝不会是强制性的,您可以按照首帖中的说明选择退出:

完成后,界面显示如下:

2 个赞

我们刚刚推送了一个更新 :link:,改进了需要工作人员批准的站点的流程。请在更新后尝试一下,如果你遇到任何问题,请告诉我们!

4 个赞

不,它做的几乎是一模一样的事情。从 Roboform 来看,它会插入电子邮件地址,停顿一两秒,然后跳转到显示电子邮件地址的 6 位验证码提示页面。所以,看起来是 Roboform 或某个东西触发了“给我发送一次性登录代码”,尽管我从未点击过它,而不是输入密码后直接进入 discourse。

我记得之前可以免费下载 Roboform 并使用 10 个登录凭据,如果你想确切测试那个特定的密码管理器的话。

https://meta.discourse.org/t/easier-account-signup-using-email-codes/407068/42

我最初尝试了允许和不允许随机生成用户名这两种情况,结果没有区别。

今晚我将 Username change period(用户名更改周期)从 0 改为 1(即现在允许更改用户名)。看起来效果好多了。有两点不同(除非我之前没注意到):

  1. 上面那个要求输入用户名的屏幕出现了。之前它并没有出现。这在某种程度上说得通——但 Username change period 设置产生的这种效果应该在说明中提到。
  2. 在用户名输入屏幕之前,出现了一个(本主题中未提及的)屏幕,要求输入全名和自定义字段。这很好。但之前这个屏幕也没有出现。这种差异没有任何道理。

在我使用这个新功能之前,我还希望看到登录流程(即用户注销后想再次登录时)的以下更改:

  1. “给我发送一次性登录代码”选项应与“登录”按钮具有相同的突出程度。目前它并不直观。我敢打赌,很多(非技术背景的)用户会以为自己忘记了密码。
  2. 也许可以保留一个按钮,并显示消息:“如果您不输入密码,我们将向您发送一次性登录代码。”
  3. 也许“我忘记了密码”可以包含发送密码创建链接的概念——“重置或创建密码”?
  4. “设置密码”邮件中这一段落的想法跳跃太多:“有人在 XYZ 上要求为您的账户添加密码。或者,您可以使用与此已验证电子邮件地址关联的任何受支持的在线服务(Google、Facebook 等)登录。”第二句话在许多论坛中并不适用。

有利的一面是,我认为一次性代码在 Discourse Hub 应用中比登录链接效果更好,因为我认为旧的登录链接是在浏览器中打开的,而不是在 Hub 应用中。

谢谢,我会试试的!

我有个印象,如果论坛启用了 invite code(邀请码)站点设置,注册流程中似乎有些东西无法正常工作。我只能输入电子邮件地址,论坛提示已发送邮件,但我并没有收到,日志中也没有显示邮件已发送。

在我禁用了即将推出的更改后,注册功能恢复了预期行为,邮件也再次成功发送。