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

Discourse 社区现在可以允许用户使用通过电子邮件发送的简短代码而不是魔法链接进行登录,提供一种无密码登录流程,这种流程对许多其他 SaaS 平台来说非常熟悉,并且可以与现有的双因素身份验证设置一起使用。

在本主题中,我们将回顾主要更改并分享如何开始使用此功能。

:microscope: 有什么变化

启用此功能后,成员将看到一个更简单的流程:

:

  1. 他们输入电子邮件地址并点击 继续
  2. 六位代码将发送到他们的收件箱。他们粘贴(或输入)代码,当最后一位数字输入完毕时,表单将自动提交。
  3. 如果他们启用了双因素身份验证(TOTP、备用代码或安全密钥),接下来将出现标准的 2FA 步骤。

一些值得注意的细节:代码有效期为 10 分钟,在 5 次尝试失败后过期,并且只能使用一次。

:gear: 在社区中启用一次性登录代码

目前,这被视为一项实验性更改! 在更广泛地推广之前,我们欢迎您的反馈,以帮助我们进行改进。

要启用此功能,请前往管理区域中的 即将推出的更改 页面(/admin/config/upcoming-changes),找到 通过代码启用本地登录 项。更新 启用为… 字段以将您的站点加入此新设计:

:warning: 在启用之前,请确认 enable_local_loginsenable_local_logins_via_email 也都设置为 true,因为没有它们就无法启用此功能。如果您使用的是 DiscourseConnectenable_discourse_connect),则无法启用此功能。

一旦启用此更改,代码登录路径将自动出现。

:mega: 您怎么看?

现在轮到你了:我们很想听听你对这个新功能的看法。你喜欢和不喜欢什么;哪些地方做得好,哪些地方可以改进?

6 个赞

我刚刚在我的网站上试了一下。我不确定其他人是怎么想的,但作为一个密码管理器用户,我觉得这似乎是一个相当大的降级……

这个新流程取消了我密码管理器一直采用的“生成邮箱、输入用户名、生成密码、保存”策略,并强制你先输入邮箱才能进行后续操作。我对邮箱验证码的方式没有异议(甚至几乎更喜欢这种方式,尤其是如果验证码包含在邮件主题中的话),但我强烈反对移除其他账户数据输入框。如果我是一个没有任何技术背景的用户,我也可能不会把我的邮箱输入到一个没有任何提示信息的框中,因为这种设计并不常见。在这一切成为永久改变之前,最好能把这些功能加回来。

电子邮件验证码,也就是所谓的“魔法链接”,表现尚可,但引导用户转向使用通行密钥(Passkeys)能让体验好上不止一个档次。

电子邮件验证码最大的问题之一在于,它们在应用内浏览器(包括 Gmail 的应用内浏览器)中无法发挥预期的作用。

人们在处理魔法链接时遇到的最常见问题大概是:他们以为自己已在普通浏览器中登录了网站,但实际上却是通过应用内浏览器登录的。例如,某人可能收到了登录链接的电子邮件。他们打开 Gmail 应用,点击“登录 404 Media”按钮,手机随即加载网页。但这实际上是在 Gmail 的内置浏览器中加载网站,而非原生 Safari 浏览器。

通行密钥可以解决这一问题。

起初,使用魔法链接的网站可以将通行密钥设为一项可选功能,供那些抱怨当前魔法链接使用体验的客户选择启用。为确保不会引发任何问题,作为一种软启动策略,该功能可以设为完全由用户主动选择启用。

稍后,当网站运营人员确信通行密钥确实有助于改善围绕魔法链接的用户体验问题时,他们可以在用户登录之后,每隔约 90 天,或每当用户使用通行密钥的跨设备登录功能时,提示用户添加通行密钥。针对苹果设备用户,此类提示的措辞可以类似如下:想避免下次再查看电子邮件吗?设置通行密钥,以便使用 Face ID 或 Touch ID 快速安全地登录。

引导用户转向使用通行密钥,与引导用户转向使用密码管理器是如出一辙的,因为通行密钥本质上就是需要密码管理器支持的密码

2 个赞

你好 :waving_hand:

我非常喜欢这种方法!不过,有一点让我有些困扰,即在注册完成之前无法更改显示名称。我认为在注册过程中增加一个更改显示名称的选项会非常好。

在我的社区中,我禁用了“在用户体验中优先显示用户名”这一站点设置,这意味着在界面上会优先显示全名/显示名称。因此,如果用户没有立即自定义名称的选项,自动分配的名称如“user21”在前端看起来会非常糟糕。

谢谢!

4 个赞

这个新流程不会发送魔法链接,仅发送验证码。用户停留在同一页面,并将电子邮件中的验证码复制粘贴到注册表单中。因此,这种新方法确实有助于解决内嵌浏览器的问题(这是此次变更的主要优势之一)。

这确实是我们接下来希望在注册密码步骤中实现的功能。应用程序和网站对通行密钥的支持力度正在加大,我在许多场景中都能看到引导使用通行密钥的提示,因此将其添加到 Discourse 中也合乎情理。(从密码切换到通行密钥的过程中,达到关键支持量是非常有帮助的。)

3 个赞